冒泡排序
每一次冒泡,我们会把最大的数值放到数组的末尾,然后在剩下的列表中继续冒泡,直至剩下一个为止
var a=[12,3,43,54,78,3.66,11,56,90,7,66,82];
console.log(a.length);
function maopao(arr){
for(var i=0;i<arr.length;i++){
for(var j=0;j<arr.length-i;j++){
if(arr[j]>arr[j+1]){
var temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
return console.log(arr);
}
maopao(a);
快速排序
var a=[12,3,43,11,56,90,7,66,66,56,82];
console.log(a.length);
function quc(arr){
if(arr.length<=1){
return arr;
}//注意,一定要有这一句,不然会出现堆栈溢出
var jizhun = Math.floor(arr.length/2);
var pivot=arr.splice(jizhun,1);
var left = [];
var right =[];
for(var i=0;i<arr.length;i++){
if(arr[i] < pivot[0]){
left.push(arr[i]);
}else{
right.push(arr[i]);
}
}
return quc(left).concat(pivot,quc(right));
}
console.log(quc(a));