JavaScript 实现内排序算法

来源:互联网 发布:05后小虎哥称霸网络 编辑:程序博客网 时间:2024/06/05 05:29

一、插入排序

每条新纪录与前面已排序的子序列进行比较,将它插入到子序列中的正确位置。

function insertionSort( arr ) {    var len = arr.length    for (var i = 1; i < len; i++) {        for( var j = i; j > 0; j-- ){            if( arr[j] < arr[j-1]){                arr[j] = arr.splice(j-1, 1, arr[j])[0]            }        }    }}

稳定性:稳定。

时间复杂度:

最差 平均 最佳 O(n^2) O(n^2) O(n)

二、冒泡排序

>

function bubbleSort(arr) {    var len = arr.length    for(var i = 0; i < len-1; i++){        for(var j = len - 1; j > i; j-- ){            if (arr[i] > arr[j]) {                arr[i] = arr.splice(j, 1, arr[i])[0]            }        }    }}

三、选择排序

function selectSort(arr) {    var len = arr.length    for(var i = 0; i < len; i++){        var min = i        for(var j = len - 1; j > i; j-- ){            if (arr[min] > arr[j]) {                min = j            }        }        arr[min] = arr.splice(j, 1, arr[min])[0]    }}
0 0