排序算法--选择排序

2018-08-23  本文已影响0人  荆辰曦
//选择排序 时间复杂度为O(N^2)
    public  static void  sort(int[] arr){
        for(int i=0;i<arr.length;i++){
            int min = i;
            //从第i个元素及第i个元素之后的元素中找寻最小值,并得到其下标位置
            for(int j = i+1;j<arr.length;j++){
                if(arr[j]<arr[min]) min = j;//执行(N-1)+(N-2)+(N-3)+....+2+1次比较,根据高斯算法(N-1+1)*N/2 = N^2/2次
            }

            //交换第i个元素与找寻到的最小值的位置
            swap(arr,i,min); //执行N次交换
        }
    }
上一篇 下一篇

猜你喜欢

热点阅读