选择排序

来源:互联网 发布:java伪装ip发起请求 编辑:程序博客网 时间:2024/04/29 22:05

考虑到冒泡排序的移动次数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);
 }

}



0 0