选择排序

2018-04-10  本文已影响0人  从0到1的小姐姐

看了我们教研室大佬写的排序算法总结,深感强悍,敬仰之情如黄河之水,滔滔不绝,此处省略一万字……不能再夸他,因为怕他骄傲,哈哈O(∩_∩)O哈哈~
大佬博客在此镇楼:http://lanxiuwen.com/
刚刚看到代码发现写的C++的,那是否,我也应该学着写一写java的呢?说写就写,现在开始:

some some
思想 遍历数组中最小(最大)元素,将其与第一(最后一个)元素交换位置,直到排完
时间复杂度 平均情况O(N2),最坏情况O(N2),最好情况O(N2)
空间复杂度 O(1)
稳定性 不稳定

code

public class SelectSort {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] a={2,7,6,8,4,9,2};
        SelectSort select = new SelectSort();
        System.out.println("排序之前的顺序是:");
        select.show(a);
        System.out.println("排序之后的顺序是:");
        select.sort(a);
        select.show(a);
    }
    public void sort(int[] a){
        for(int i=1;i<a.length;i++){
            int index=0;
            for(int j=1;j<=a.length-i;j++){
                if(a[j]>a[index]){
                    index = j;
                }
                int temp = a[a.length-i];
                a[a.length-i] = a[index];
                a[index] = temp;
            }
        }
    }
    public void show(int[] a){
        for(int k:a){
            System.out.print("  "+k);
        }
        System.out.println();
    }
}

上一篇 下一篇

猜你喜欢

热点阅读