排序算法(JS实现)
1.冒泡排序(最大值置尾排序)
let arr = [1,4,5,23,5,4,3,4,24,32,54,35,234,42];
for(let i=0;i<arr.length;i++){
for(let j=0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
let n =arr[j];
arr[j]=arr[j+1];
arr[j+1]=n;
}
}
}
console.log(arr);
输出:[1, 3, 4, 4, 4, 5,5, 23, 24, 32, 35, 42,54, 234]
2.选择排序(最小值置头排序)
let arr = [1,4,5,23,5,6,3,4,24,9];
for(let i=0;i<arr.length;i++){
let min = arr[i];
let minIndex = i;
for(let j=i+1;j<arr.length;j++){
if(arr[j]<min){
min=arr[j];
minIndex=j;
}
}
arr[minIndex]=arr[i];
arr[i]=min;
}
console.log(arr);
输出:[1,3,4,4,5,5,6,9,23,24]
3.插入排序(寻找位置排序)
let arr = [1,4,5,23,5,6,3,4,24,9];
for(let i=1;i<arr.length;i++){
for(let j=i;j>0;j--){
if(arr[j]<arr[j-1]){
let n =arr[j];
arr[j]=arr[j-1];
arr[j-1]=n;
}else{
continue;
}
}
}
console.log(arr);
输出:[1, 3, 4, 4, 5,5, 6, 9, 23, 24]
后续将持续更新。。。。(有更优的写法请评论或联系我,互相学习)