JavaScript 排序
LiuL0703 opened this issue · comments
LiuL0703 commented
快排
function quickSort(arr){
if(arr.length === 0) return [];
var l = [];
var r= [];
var m = ~~(arr.length/2);
var flag = arr.splice(m,1);
for(let i = 0; i < arr.length; i++){
arr[i] < flag ? l.push(arr[i]): r.push(arr[i]);
}
return quickSort(l).concat(flag,quickSort(r));
}
quickSort([5,4,3,2,7,1]) // [1,2,3,4,5,7]
LiuL0703 commented
冒泡
function bubbleSort(arr){
for(let i = 0; i < arr.length; i++){
for(let j = 0; j < arr.length - 1 - i; j++){
if(arr[j]>arr[j+1]){
[arr[j],arr[j+1]] = [arr[j+1],arr[j]];
}
}
}
return arr;
}
LiuL0703 commented
选择排序
var selectSort = function(arr){
for(var i = 0; i < arr.length; i++){
var min_index = i;
for(var j = i+1; j < arr.length; j++){
if(arr[min_index]>arr[j]){
min_index = j;
}
}
[arr[min_index],arr[i]] = [arr[i],arr[min_index]];
}
return arr;
}