选择排序——Java

选择排序类似于冒泡,但是不要混淆了。两者虽然最坏时间效率相同,但是在实际使用中,选择排序更快。

/**
     *选择排序思想与冒泡很像,但是区别在于选择排序是记录最大值的下标,然后在外层交换。两者的最坏时间效率都是O(N^2)
     *但是相对来说,在平时使用中,选择排序的效率高于冒泡排序 
     */
    public static void selectSort(int arr[]) {
        int length=arr.length;
        int index,temp;
        for(int i=1;i<length;i++) {//比较轮数
            index=0;
            for(int j=0;j<=length-i;j++) {//每一轮少比较一次
                if(arr[index]<arr[j]) {
                    index=j;
                }
            }
            //选择排序在外层交换
            temp=arr[length-i];
            arr[length-i]=arr[index];
            arr[index]=temp;
        }
    }

猜你喜欢

转载自blog.csdn.net/zwzsdy/article/details/80054901