您的位置:首页 > Web前端 > JavaScript

javaScript中的几种排序方式

2016-12-20 00:00 113 查看

冒泡排序

function bubble(arr){
for(var i=0;i<arr.length-1;i++){
var bool = true;
for(var j=0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
var temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] =temp;
bool = false;
}
}
if(!bool){
break;
}
}
return arr;
}

插入排序

var insertSort = function(arr){
for(i=1;i<10;i++){
temp = arr[i];
j = i;
while(j > 0 && arr[j-1] > temp){
arr[j] = arr[j-1];
j--;
}
arr[j] = temp;
}
return arr;
}

快速排序

把一个数组以数组中的某个值为标记。比这个值小的放到数组的左边,比这个值得大的放到数组的右边。然后再递归对左边和右边的数组进行同样的操作。直到排序完成。通常以数组的第一个值为标记。

function quickSort(arr){

var len = arr.length,
leftArr = [],
rightArr = [],
tag = arr[0];
if(len<2){
return arr;
}
for(var i=1; i<len; i++){
if(arr[i]<=tag){
leftArr.push(arr[i]);
}else{
rightArr.push(arr[i]);
}
}
return quickSort(leftArr).concat(tag,quickSort(rightArr));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: