ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
![](https://box.kancloud.cn/1c7e20f306ddc02eb4e3a50fa7817ff4_811x248.jpg) 冒泡排序要频率的两两交换,我们可以先标记出最小的元素,最后再交换,这样可以减少交换的次数。 特点:每趟循环只执行一次交换操作。 思路:在每次循环时找出最小的元素,然后标记一下,不执行交换,直到本次循环完之后,把标记的最小的元素放到最前面,然后再找第2小的元素。。。。 # JavaScript ~~~ function selectSort(arr) { // 保存每次循环时最小元素的下标 let minIndex for(let i=0;i<arr.length-1;i++) { // 设置最小的开始为本次循环第一个元素 minIndex = i for(let j=i+1;j<arr.length;j++) { if(a[minIndex]>a[j]) { minIndex = j } } // 把最小的元素交换到开始的位置 [a[i],a[minIndex]] = [a[minIndex],a[i]] } return arr } ~~~