1. 程式人生 > >js氣泡排序,快速排序程式碼

js氣泡排序,快速排序程式碼

/*快速排序,
* 思想:找到一個基準值,左右進行比較。如果比基準值大放在陣列右側。
* 比基準值小放置左側。基準值為陣列第一個元素
* 以開始作為基礎進行匹配,在進行分組*/
let s = [5,7,5,3,1,4,0,6,9,55]
function kuaipai(s){
let num = s[0];
let right = [];
let left = [];
if(s.length<=1){
return s;
}
for (let i=1; i<s.length; i++) {
if(s[i]<=num){
left.push(s[i]);
}else{
right.push(s[i]);
}
}
return kuaipai(left).concat(num).concat(kuaipai(right));
}
/*氣泡排序
* 相鄰元素進行比較,
* 前邊比後邊大交換,前邊比後邊小不交換。
* */
function sort(s){
for(let i=0;i<s.length;i++){
for(let j=0;j<s.length;j++){
if(s[j] >= s[j+1]){
let a = s[j+1];
s[j+1] = s[j];
s[j] = a;
}else{
continue;
}
}
}
}
sort(s)
console.log(s);