// 冒泡排序
function bubbleSort(arr) {
const len = arr.length;
for(let i = 0;
i < len - 1;
i++) {
for(let j = i + 1;
j < len;
j++) {
if(arr[i] > arr[j]) {
const tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
return arr;
}const ans = bubbleSort([2,1,3]);
console.log('ans', ans)
【2. 冒泡和快排】// 快排
function quickSort(arr) {
if(arr.length <= 1) return arr;
const left = [], right = [];
// 找中间的索引
const middleIndex = Math.floor(arr.length / 2);
// 取中间的value,并删除了中间的
const middleVal = arr.splice(middleIndex, 1)[0];
for(let i = 0;
i < arr.length;
i++) {
if(arr[i] < middleVal){
left.push(arr[i])
}else {
right.push(arr[i])
}
}
// 递归left和right,并加上middleValue
return quickSort(left).concat(middleVal, quickSort(right));
}
const ans1 = quickSort([2,1,3]);
console.log('ans1', ans1)
推荐阅读
- 得物黑科技|AR测量脚型,解决尺码烦恼
- react.js|React Router V6实现嵌套路由重定向
- React|react-router之路由重定向
- 工作-React|2022-06-29 工作记录--React-函数式组件 useState的使用 + useEffect的使用 + 监听事件的使用
- 学习|React组件基础
- vue面试|vue中Mixin和extends详解
- 移动端实现HTML5录音踩坑指南(系统播放音量变小、一些机型录音断断续续 MediaRecorder和AudioWorklet)
- 微信小程序|微信小程序 小程序自定义组件与组件间操作(笔记)
- 微信小程序|微信小程序(3)自定义组件