この記事では主に Java の単純な選択ソートの例を詳しく紹介します。興味のある方は参考にしてください
1. 基本概念
各パスでソートするレコードから最小のレコードを選択します。キーが選択され、すべての並べ替えが完了するまで、並べ替えられたレコード シーケンスの最後に配置されます。
2. 実装アイデア
並べ替えるシーケンスから最小のキーワードを持つ要素を見つけます。
最小の要素が並べ替えられるシーケンスの最初の要素でない場合は、それを最初の要素と交換します。残り N - 1 個の要素の中から、最も小さいキーワードを持つ要素を見つけ、ソートが完了するまで手順 (1) と (2) を繰り返します。
3. コードの実装
public class SelectionSort { public static void selectionSort(int[] list){ //需要遍历获得最小值的次数 if (1>=list.length)return; for (int i=0;i<list.length-1;i++){ int temp=0; int index=i; //选择当前值为最小值索引 for (int j=i+1;j<list.length;j++){ if (list[index]>list[j]){ index=j; //修改最小值索引 } } temp=list[index]; list[index]=list[i]; list[i]=temp; } } public static void main(String[] args){ int[] list={4,3,6,5,7,8,2,10,2,9}; selectionSort(list); for (int num:list){ System.out.print(num+" "); } } }
4. 時間計算量
単純な選択ソートの比較の数は、シーケンスの最初のソートとは関係がありません。 ソート対象のシーケンスに N 個の要素があると仮定すると、比較回数は常に N (N - 1) / 2 になります。以上がJava での選択ソートのコード例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。