0
点赞
收藏
分享

微信扫一扫

JavaScript 实现 -- 选择排序

选择排序

选择排序是一种简单直观的排序算法。

原理

第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。依次类推完成整个数组的排序。

数组 arr = [4,1,6,3,5,2] 进行选择排序。首先遍历一次数组找出最小值 1 ,放在首位。然后遍历第二次找出次小值 2 放在第二位,接着遍历排序,直到排完这个数组。 在这里插入图片描述

代码实现

 		Array.prototype.selectionSort = function(){   
            for(var i = 0; i < this.length-1; i++){
                var minIndex = i
                for( var j = i ; j < this.length; j++){
                    if( this[j] < this[minIndex] ){ 
                        minIndex = j;			
                    } 
                }
                if(minIndex !== i){
                	[ arr[i], arr[minIndex] ] = [ arr[minIndex], arr[i] ]; //交换位置
                }
            }
        }
        var arr = [4,1,6,3,5,2];
        arr.selectionSort();
        console.log(arr);	// [1, 2, 3, 4, 5, 6]

时间复杂度和稳定性

  • 选择排序的时间复杂度是O(n^2);

  • 选择排序是不稳定的排序算法;

举报

相关推荐

0 条评论