冒泡排序,选择排序,快速排序JavaScript实现
1.冒泡排序
function Bubble_Sort (arr) {
var len = arr.length;
var temp;
for (var i = 0; i < len - 1; i++) {
for (var j = 0; j <len -i -1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
//测试
var arr = [2,1,3,5,4,0];
console.log(Bubble_Sort(arr));//[0,1,2,3,4,5]
2.选择排序
function Select_Sort (arr) {
var len = arr.length;
var temp;
for (var i = 0; i < len; i++) {
for (var j = i; j < len; j++) {
if (arr[i] > arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
//测试
var arr = [2,1,4,3,5];
console.log(Select_Sort(arr));//[1,2,3,4,5]
3.快速排序
function Quick_Sort (arr) {
if (arr.length <= 1) {
return arr;
}
var i = Math.floor(arr.length / 2);
var j = arr.splice(i,1)[0];
var left = [];
var right = [];
for (var k = 0; k < arr.length; k++) {
if (arr[k] < j) {
left.push(arr[k]);
} else {
right.push(arr[k]);
}
}
return Quick_Sort(left).concat(j,Quick_Sort(right));
}
//测试
var arr = [2,1,4,3,5,0];
console.log(Quick_Sort(arr));//[0,1,2,3,4,5]