js实现排序

来源:互联网 发布:应用程序制作软件 u 编辑:程序博客网 时间:2024/06/17 18:13

1.简单排序

function compare(a,b)

{

    return (a>b)?alert("大于"):alert("小于");

}

2.冒泡排序

vararr= [12,5,3,8,0,15,6,1,9,4,27];

varlen=arr.length;

functionbubbleSort(arr) {

vartmp=0;

for(vari=0;i

for(varj=0;j

if(arr[j] > arr[j+1]) {

tmp= arr[j];

arr[j] = arr[j+1];//交换

arr[j+1] =tmp;

}

}

}

returnarr;

}

alert(bubbleSort(arr));

冒泡排序动图演示:


3.快速排序

快速排序的最坏运行情况是o(n2)

快速排序动图演示:



快速排序js实现:

var arr=[2,1,6,66,3,4,88,100,300,4,5];var quickSort = function(arr) {    if (arr.length <= 1) {        return arr;    }    var pivotIndex = Math.floor(arr.length / 2);    var pivot = arr.splice(pivotIndex, 1)[0];    var left = [];    var right = [];    for (var i = 0; i < arr.length; i++){        if (arr[i] < pivot)        {            left.push(arr[i]);        } else {            right.push(arr[i]);        }    }    return quickSort(left).concat([pivot], quickSort(right));};alert(quickSort(arr));

原创粉丝点击