2016-12-22 22 views
-1

皆さんは選択ソートアルゴリズムを説明/シミュレートできますか?私は値の交換部分で失われる傾向があります。ありがとう!ここ 選択ソートC#

はコードです:

int[] ars = new int[4] { 5, 3, 10, 6 }; 
int min, tempo; 
for (int i = 0; i < ars.Length -1; i++) 
{ 
    min = i; 
    for(int ii = i + 1; ii < ars.Length; ii++) 
    if (ars[ii] < ars[min]) 
    { 
     min = ii; 
    } 
    tempo = ars[min]; 
    ars[min] = ars[i]; 
    ars[i] = tempo; 
} 
+2

書き込みそれぞれ紙にダウンステップと、選択ソートに – Icepickle

+1

Wikipediaのページを何が起こるかを見るには、それはあなたを助けることができるかもしれこのアルゴリズムhttps://en.wikipedia.org/wiki/Selection_sortの本当に良い可視化を持っています。 –

+0

この記事もご覧ください:https://www.youtube.com/watch?v=kPRA0W1kECg – oldovets

答えて

0

それはリストとスワップ最低リストの残りの部分で見つかったとの現在の項目を反復処理しますが、それは現在の項目よりも低くなった場合にのみ。


まず、値をコピーする前に古い値を '覚えておく'必要があります。

// create copy of the previous value 
tempo = ars[min]; 
// overwrite the old value. 
ars[min] = ars[i]; 
// recall the previous value and assign it to the other in the array 
ars[i] = tempo;