個人的にダイレクト選択は一種の最も簡単なと感じます
ステップ
- シーケンスがソートされることから、最小の要素を見つけます。
- 要素が最初の順序付けられたシーケンスの最小の要素、および相互交換される最後の要素であるとされていない場合。
- 残りのNから - 1のシステム要素、最小または最大の重要な要素を見つけ、ソートの終わりまで(1)、(2)ステップを繰り返します。
第一の数と第二、第三、...最後の桁比較、端部で最大値または最小値を選択し、それぞれの比較。サイクルの数を減らします
ソート時間複雑比較的高い不安定O(N 2)であります
パブリック クラスZJXuanZhe { INT [] ARR = {15、14、26、7、9、22、5、8、11,17 }。 パブリック 静的 ボイドメイン(文字列[]引数){ ZJXuanZhe XZ = 新しいZJXuanZhe(); xz.zjxuanzhe(); xz.prin(); } ボイドzjxuanzhe(){ int型 I = 0 。 int型 J = 0 ; int型温度= 0 ; 以下のための(I = 0、I <10; I ++ ){ ため(J ++; J <10 J = {) もし(ARR [I]> ARR [J]){ TEMP = ARR [I]。 ARR [I] = ARR [J]。 ARR [J] = TEMP。 } } } } ボイドPRIN(){ ため(INT I = 0、I <10; I ++ ){ System.out.println(ARR [I])。 } } ボイドTE(){ INT []は= 新しい新しい INT [11。]; // デフォルトの定義はゼロである ため(INT I = 0; I <a.length; I ++ ) System.out.println([I])。 } }