想学一点原生的js,闲来无事写的冒泡排序和快速排序,欢迎指正,不喜勿喷。
// 冒泡
function PP(arr){
for( var i = 0; i < arr.length-1; i++ ){
for( var j = i+1; j < arr.length; j++ ){
if( arr[i] > arr[j] ){
var k = arr[j];
arr[j] = arr[i];
arr[i] = k;
}
}
}
return arr;
}
// 快排
function ss(arr){
if(arr.length <= 1){
return arr;
}
var m = Math.floor( arr.length/2);
var val = arr.splice(m,1);
// var val = arr[0];
var left = [];
var right = [];
for( var i = 0; i < arr.length; i++ ){
if( arr[i] < val ){
left.push(arr[i]);
}else{
right.push(arr[i]);
}
}
return ss(left).concat(val,ss(right));
}
var a = [2,8,5,3,5,6,4];
// 打印
console.log(PP(a));
console.log(ss(a));