常用排序之选择排序-----笔记

来源:互联网 发布:好用的漱口水知乎 编辑:程序博客网 时间:2024/06/06 06:38

过程描述:

对于给定的数组数据,经过第一轮比较得出最小数据,将该数据与第一数据的位置进行交换;

然后对不包含第一数据的其他数据进行第二轮比较,得到的最小数据与第二数据的位置进行交换;

以此类推,直至最后一个数据位置

public    class  SelectSortTest{

     public   static int[] selectSort(int[] array){
        int len = array.length;
        int i,j,n,flag,temp;
        for(i=0;i<len;i++){
            temp = array[i];
            flag = i;
            for(j=i+1;j<len;j++){
                if(temp>array[j]){
                    temp = array[j];
                    flag = j;
                }
            }
            if(flag != i){
                n = array[i];
                array[i] = array[flag];
                array[flag] = n;
            }
        }
        return array;

  }
  public static void main(String[] args){
    int a[]={2,9,0,8,7,1,5,4,3,6};
    a=selectSort(a);
      for(int i=0;i<a.length;i++){
             System.out.print(a[i]+"  ");
       }
  }

}


结果:0  1  2  3  4  5  6  7  8  9 

0 0