简单选择排序:

 每一趟在整个记录中找到最小的那个作为有序序列的第i个记录。

class SelectSort{
    public void p(int[] a){
        for(int i=0;i<a.length;i++){
            System.out.print(a[i]+" ");
        }
        System.out.println();
    }
    public void select(int[] a){
        int m=a.length;
        for(int i=0;i<m;i++){
            int min=a[i];
            int n=i;
            for(int j=i+1;j<m;j++){
                if(min>a[j]){
                    min=a[j];          //min 保持为最小的一个
                    n=j;
                }
            }
            a[n] = a[i];            //在查找前的i的位置插入被替换的数
            a[i] =min;             //插入本次查找最小的数的位置
            p(a);
        }
    }
    public static void main(String args[]){
        int[] a ={49,38,65,97,76,13,27,49,55,04};
        SelectSort s = new SelectSort();
        s.select(a);
        s.p(a);
    }
}

 

posted on 2014-10-17 20:38  一粒麦子777  阅读(153)  评论(0)    收藏  举报