選擇排序

考慮到冒泡排序的移動次數o(N^2),選擇排序設置標誌位,每一輪排序只移動一次。

public class SelectSort {
 
 public void selectSort(int[] as){
  int min = 0;
  for(int i=0;i<as.length;i++){
   //設置最小的初始位置
   min = i;
   for(int j=i+1;j<as.length;j++){
    if(as[min]<as[j]){
     min = j;
    }
   }
   swap(as,min,i);
   
  }
  
 }
 private void swap(int[] as,int aIndex,int bIndex){
  int temp = as[aIndex];
  as[aIndex] = as[bIndex];
  as[bIndex]=temp;
  
 }
 
 private void printDatas(int[] as){
  System.out.println("------------------------>");
  for(int i:as){
   System.out.println(i);
  }
 }
 public static void main(String[] args) {
  SelectSort t = new SelectSort();
  int[] as = new int[]{3,2,8,6,1};
  t.selectSort(as);
  t.printDatas(as);
 }

}



發佈了32 篇原創文章 · 獲贊 23 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章