選択ソートのパフォーマンスバージョン

NUMレコード配列、インデックス記録添字の値を有する2つの追加パラメータ、。

ため、パフォーマンスを向上させるために、交換機能に少しコールの数を減らし、配列の開始後最小交換価値を探します

1  パブリック クラスデモ{
 2      公共 静的 ボイドメイン(文字列[]引数){
 3。         INT [] = {54,1,23 ARR、-9,188,63 };
 4          printArry(ARR)
 。5          SelectSort(ARR)
 。6          printArry (ARR);
 7      }
 。8      パブリック 静的 ボイドスワップ(INT [] ARR、int型 I、INT J){ // 配列内のスイッチング素子
9。         int型の TEMP = ARR [I];
 10          ARR [I] = ARR [J] ;
 11         ARR [j]は= TEMPと、
12      }
 13      公共 静的 ボイド printArry(INT [] ARR){ // 打印数组
14          System.out.print( "[" )。
15          のためには、int型 0 = Iと、iは<arr.length; iは++ ){
 16              であれば(I <arr.length-1 17              System.out.print(ARR [I] + "" )。
18              他の
19                  のSystem.out.println(ARR [I] + "]" )。
20          }
 21      }
 22      公共 静的 ボイドselectSort(INT [] ARR){ // 选择排序性能版
23          のためにint型 I = 0; I <arr.length-1; iは++ ){
 24              INT NUM = ARR [I]。
25              int型のインデックス= I;
26              のためのint型 J = I + 1、J <arr.length; J ++ ){
 27                  であれば(NUM> ARR [J]){
 28                      NUM = ARR [J]。
29                      インデックス= J;
30                  }
 31              }
 32              なら(I!= 指数)
 33                 スワップ(ARR、I、インデックス)
34          }
 35      }
 36 }

 結果:

おすすめ

転載: www.cnblogs.com/langdao/p/11029114.html