排序算法(冒泡排序、
一、冒泡排序
1.每次循环把最小的放在最左边
function bubbleSort(arr) {
var temp;
for(var i= 0;i<arr.length;i++){
for(var j=i+1;j<arr.length;j++){
if(arr[i] > arr[j]){
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
console.log(arr);
}
}
bubbleSort([3,6,1,2,5]);
结果:

2.每次循环把最大的放在最右边
function bubbleSort(arr) {
var len = arr.length;
for (var i = 0; i < len; i++) {
for (var j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j+1]) { //相邻元素两两对比
var temp = arr[j+1]; //元素交换
arr[j+1] = arr[j];
arr[j] = temp;
}
}
console.log(arr);
}
return arr;
}
bubbleSort([5,3,2,7]);
结果:

二、快速排序
function quicksort (arr){
if(arr.length<=1){
return arr;
}
var left = [];
var right = [];
var middle = arr[0];
for(var i=1;i<arr.length;i++){
if(arr[i]<middle){
left.push(arr[i]);
}else{
right.push(arr[i]);
}
}
return [].concat(quicksort(left),[middle],quicksort(right));
}
console.log(quicksort([3,6,1,2,5]));
浙公网安备 33010602011771号