2017-03-05 6 views
-3

私はこの練習問題とかなり混乱しています。問題は選択ソートの数値のシフトはどのように機能しますか?

選択ソートアルゴリズムの最も外側のループの最初の3回のパスのそれぞれの後に、配列の要素の状態を書きます。

int[] numbers = {45, 78, 89, 34, 23, 12, 67, 56}; 
selectionSort(numbers); 

after pass 1: 
after pass 2: 
after pass 3: 
+0

選択ソートの仕組みはわかりますか? Hava [Wikipedia](https://en.wikipedia.org/wiki/Selection_sort)をご覧ください。 –

+0

@JarlikStepstoありがとうございます。 – Aayush

答えて

0

私はそれが宿題だと思うので、私はあなたの正確な例を示していないだろうが、私は別の例であなたが表示されます:

まず

選択ソートのための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} 

ソート済み!

+1

ありがとうございます。これは多くの意味があります。 – Aayush

関連する問題