冒泡排序
let list_a = [1,23,5,67,8,987,12];
function bub_sort(arr) {
if(arr.length<2){
return arr
}
for(let i=0;i<arr.length;i++){
for (let j=0;j<arr.length-i-1;j++){
if(arr[j]>arr[j+1]){
arr[j],arr[j+1] = arr[j+1],arr[j]
}
}
}
return arr
}
function bub_sort2(arr) {
if(arr.length<2){
return arr
}
for(let i=0;i<arr.length;i++){
for (let j=i;j<arr.length-1;j++){
if(arr[j]>arr[j+1]){
let a = arr[j+1];
arr[j+1] = arr[j];
arr[j] = a;
}
}
}
return arr
}
选择排序
function chice_sort(arr) {
if (arr.length<2){
return arr
}
for(let i=0;i<arr.length;i++){
for(let j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
let tmp = arr[j]
arr[j] = arr[i]
arr[i] = tmp
}
}
}
}
chice_sort(list_a)
console.log(list_a)
快排
function qs(arr) {
if (arr.length<2){
return arr
}
let l = [];
let m = arr[0];
let r = [];
for (let i=1;i<arr.length;i++){
if (arr[i]<m){
l.push(arr[i])
}else{
r.push(arr[i])
}
}
return qs(l).concat(m,qs(r))
}
console.log(qs(list_a))