简单选择排序

简单选择排序

简单选择排序

在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素和第n个元素比较完毕为止。时间复杂度为0(n^2)。

例子:8, 1, 10, 3, 7, 2, 6, 4, 9, 5 的选择排序过程。
第1轮排序结果:1,8,10,3,7,2,6,4,9,5
第2轮排序结果:1,2,10,3,7,8,6,4,9,5
第3轮排序结果:1,2,3,10,7,8,6,4,9,5
第4轮排序结果:1,2,3,4,7,8,6,10,9,5
第5轮排序结果:1,2,3,4,5,8,6,10,9,7
第6轮排序结果:1,2,3,4,5,6,8,10,9,7
第7轮排序结果:1,2,3,4,5,6,7,10,9,8
第8轮排序结果:1,2,3,4,5,6,7,8,9,10
第9轮排序结果:1,2,3,4,5,6,7,8,9,10
第10轮排序结果:1,2,3,4,5,6,7,8,9,10
最终结果:1,2,3,4,5,6,7,8,9,10
function selectsort(list) {
    var temp;
    var min;
    for (var i = 0; i < list.length; i++) {
        min = list[i];
        temp = i;
        for (var j = i; j < list.length; j++) {
            if (list[j] < min) {
                min = list[j];
                temp = j;
            }
        }
        var temp2;
        temp2 = list[i];
        list[i] = list[temp];
        list[temp] = temp2;
        console.log("第" + (i + 1) + "轮排序结果:" + list);
    }
}
var a = [8, 1, 10, 3, 7, 2, 6, 4, 9, 5];
selectsort(a);
console.log("最终结果:" + a);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容