Skip to content

Instantly share code, notes, and snippets.

@ziluo
Created October 10, 2012 07:20
Show Gist options
  • Save ziluo/3863704 to your computer and use it in GitHub Desktop.
Save ziluo/3863704 to your computer and use it in GitHub Desktop.
几种js排序方法
var quickSort = function(arr){
if(arr.length <= 1){ return arr;}
var pivotIndex = Math.floor(arr.length/2),
pivot = arr.splice(pivotIndex, 1)[0],
left = [],
right = [];
for(var i = 0,len = arr.length;i < len;i++){
if(arr[i] < pivot){
left.push(arr[i]);
}else{
right.push(arr[i]);
}
}
return arguments.callee(left).concat([pivot],arguments.callee(right));
};
var bubbleSort = function(arr){
var temp;
for(var i = 0,len = arr.length - 1;i < len;i++){
for(var j = arr.length - 1;j > i;j--){
if(arr[j - 1] > arr[j]){
temp = arr[j - 1];
arr[j - 1] = arr[j];
arr[j] = temp;
}
}
}
return arr;
};
var selectSort = function(arr){
for(var i = 0,len = arr.length - 1;i < len;i++){
var tempIndex = i;
for(var j = i + 1;j < arr.length;j++){
if(arr[tempIndex] < arr[j]){
tempIndex = j;
}
}
var tempData = arr[tempIndex];
arr[tempIndex] = arr[i];
arr[i] = tempData;
}
return arr;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment