平时常用到的两种排序方式,今天刚好看到排序方面的文章,就大概的实现了一下;以备日后使用
冒泡排序:
var arr = [2, 3, 8, 4, 1, 7, 5];
var bubSort = function(arr){
var len = arr.length,
change = false, temp;
for (var i = 0; i < len; i++) {
change = false;
for (var j = len - 1; j > i; j--) {
if (arr[j] > arr[j - 1]) {
change = true;
temp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = temp;
}
}
if (!change) { break; }
}
return arr;
}
快速排序:
var arr = [2, 3, 8, 4, 1, 7, 5];
var quickSort = function(arr){
var len = arr.length;
if (len <= 1) { return arr; }
var ref = arr.splice(Math.floor(len / 2), 1)[0],
left = [],
right = [];
for (var i = arr.length; i--;) {
(arr[i] < ref ? left : right).push(arr[i]);
}
return quickSort(left).concat([ref], quickSort(right));
}