选择排序

选择排序算法,数组中的每个元素与第一个元素比较,找最值,每轮放置一个最值。

 

<span style="font-size:12px;background-color: rgb(255, 255, 255);">for(int i=0;i<arr.length-1;i++){
    for(int j=i+1;j<arr.length;j++){
        if(arr[i]>arr[j]){
        }
    }
}
</span>

 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。时间复杂度O(n^2),交换次数O(n),最好情况是,已经有序,交换0次;最坏情况交换n-1次,逆序交换n/2次。交换次数比冒泡排序少多了,由于交换所需CPU时间比比较所需的CPU时间多,n值较小时,选择排序比冒泡排序快。

 


posted @ 2016-09-03 15:44  海的心  阅读(114)  评论(0编辑  收藏  举报