//快速排序
function quickSort(a){
if(a.length<=1)//边界条件判断
return a;
var midLength = Math.floor(a.length/2);
var midValue = a.splice(midLength,1);
var left = [];
var right = [];
for(var i = 0; i<a.length; i++){
if(a[i] < midValue){
left.push(a[i]);
}else{
right.push(a[i]);
}
}
return quickSort(left).concat(midValue,quickSort(right));
}
console.log(quickSort([1,3,5,2,4,7,9,6,8]));
//冒泡排序
function bubbleSort(a) {
var length = a.length;
var sortArray;
for(var i = 0; i<length-1; i++){
for(var j = 0; j<length-1; j++){
if(a[j]>a[j+1]){
sortArray = a[j];
a[j] = a[j+1];
a[j+1] = sortArray;
}
}
}
return a;
}
console.log(bubbleSort([1,3,5,2,4,7,9,6,8]));
//插入排序
function insertSort(a) {
var length = a.length;
var sortArray;
for(var i = 1; i < length; i++) {
for(var j = 0; j < i; j++){
if(a[i] < a[j]){
sortArray = a[i];
a[i] = a[j];
a[j] = sortArray;
}
}
}
return a;
}
console.log(insertSort([1,3,5,2,4,7,9,6,8]));
//选择排序
function selectSort(a){
for(var i = 0; i < a.length; i++){
var min = a[i];
var k = i;
for(var j = i+1; j<a.length; j++){
if(min > a[j]){
min = a[j];
k = j;
}
}
a[k] = a[i];
a[i] = min;
}
return a;
}
console.log(selectSort([1,3,5,2,4,7,9,6,8]));
网友评论