排序之选择排序

选择排序的基本思想是对待排序的记录序列进行n-1遍的处理,第i遍处理是将L[i..n]中最小者与L[i]交换位置。这样,经过i遍处理之后,前i个记录的位置已经是正确的了。

void choiceSort(int[] unsorted) {
    for(int i =0;i < unsorted.length; i++){
        int min = i;
        for(int j = i+1; j <unsorted.length; j++){
            if(unsorted[min] > unsorted[j]){
                min = j;
            }
        }
        if (i != min) {  
            int tmp = unsorted[min];  
            unsorted[min] = a[i];  
            unsorted[i] = tmp;  
        }  
    }
}

此方法的复杂度为O(n^2).

你可能感兴趣的:(排序)