私はこの練習問題とかなり混乱しています。問題は選択ソートの数値のシフトはどのように機能しますか?
選択ソートアルゴリズムの最も外側のループの最初の3回のパスのそれぞれの後に、配列の要素の状態を書きます。
int[] numbers = {45, 78, 89, 34, 23, 12, 67, 56};
selectionSort(numbers);
after pass 1:
after pass 2:
after pass 3:
私はこの練習問題とかなり混乱しています。問題は選択ソートの数値のシフトはどのように機能しますか?
選択ソートアルゴリズムの最も外側のループの最初の3回のパスのそれぞれの後に、配列の要素の状態を書きます。
int[] numbers = {45, 78, 89, 34, 23, 12, 67, 56};
selectionSort(numbers);
after pass 1:
after pass 2:
after pass 3:
私はそれが宿題だと思うので、私はあなたの正確な例を示していないだろうが、私は別の例であなたが表示されます:
まず選択ソートのためのpsudoコード:
repeat (numOfElements - 1) times
set the first unsorted element as the minimum
for each of the unsorted elements
if element < currentMinimum
set element as new minimum
swap minimum with first unsorted position
例:
int[] numbers = {8, 23, 7, 34, 50, 15, 16};
selectionSort(numbers);
セット8として残りの未分類要素を反復処理して、真の最小値を見つける。
最初のソートされていない要素(8)で最小値(7)を入れ替えます。
after pass 1: {7, 23, 8, 34, 50, 15, 16}
最初のソートされていない要素(23)で最小値(8)をスワップします。
after pass 2: {7, 8, 23, 34, 50, 15, 16}
最初のソートされていない要素(23)で最小値(15)をスワップします。
after pass 3: {7, 8, 15, 34, 50, 23, 16}
最初のソートされていない要素(34)で最小値(16)をスワップします。
after pass 4: {7, 8, 15, 16, 50, 23, 34}
最初のソートされていない要素(50)で最小値(23)を入れ替えます。
after pass 5: {7, 8, 15, 16, 23, 50, 34}
最初のソートされていない要素(50)で最小値(34)をスワップします。
after pass 6: {7, 8, 15, 16, 23, 34, 50}
ソート済み!
ありがとうございます。これは多くの意味があります。 – Aayush
選択ソートの仕組みはわかりますか? Hava [Wikipedia](https://en.wikipedia.org/wiki/Selection_sort)をご覧ください。 –
@JarlikStepstoありがとうございます。 – Aayush