js的排序算法
2021/11/13 17:12:24
本文主要是介绍js的排序算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.冒泡排序
思路:相邻两个数进行比较,如果第一个比第二个大则交换他们的位置。
let arr=[1,9,6,5,4,2,3]; for(var i=0;i<arr.length;i++){ for(var j=i+1;j<arr.length;j++){ if(arr[i]>arr[j]){ const temp=arr[i] arr[i]=arr[j] arr[j]=temp } } } console.log(arr)}
2.选择排序
思路:首先在原数组中查找最小值,将最小值放在最前面,接着在剩下的元素中查找,放在最小值的后面,以此类推。
let arr=[144,15,8,12,10,11] for(var i=0;i<arr.length;i++){ let minIndex=i //数组的最小值 for(var j=i;j<arr.length;j++){ if(arr[j]<arr[minIndex]){ //比较位置j的值是否比当前的最小值小, minIndex=j //如果是更新最小值 } } if(i!==minIndex){ //如果最小值和原来的最小值不同,交换位置 let temp=arr[i] arr[i]=arr[minIndex] arr[minIndex]=temp } } console.log(arr)
3.插入排序
1)第一个数已排序
2)将待插项第二个数和第一个数比较,插入适合的位置
3)接着将待插项第三个数和前两个数进行比较,后面的将待插项元素依次和前面进行比较,找到对应的位置并插入
let arr=[18,4,8,9,10,11,] let temp; for(var i=1;i<arr.length;i++){ //从第二个数开始 temp=arr[i]; //临时存储 //从前往后查找插入的位置 for(var j=i;j>0&&arr[j-1]>temp;j--){ arr[j]=arr[j-1] //将大于temp的arr[j]元素后移 } arr[j]=temp } console.log(arr)
这篇关于js的排序算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15useCallback教程:React Hook入门与实践
- 2024-11-15React中使用useContext开发:初学者指南
- 2024-11-15拖拽排序js案例详解:新手入门教程
- 2024-11-15React中的自定义Hooks案例详解
- 2024-11-14受控组件项目实战:从零开始打造你的第一个React项目
- 2024-11-14React中useEffect开发入门教程
- 2024-11-14React中的useMemo教程:从入门到实践
- 2024-11-14useReducer开发入门教程:轻松掌握React中的useReducer
- 2024-11-14useRef开发入门教程:轻松掌握React中的useRef用法
- 2024-11-14useState开发:React中的状态管理入门教程