首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

js 实现选择排序及优化

// 选择排序 // 原理:进行 n-1 趟 循环,每趟循环中遍历所有未排好序的数,第一趟循环,从第0个元素开始向后遍历,找到 最小的元素,与第1 一个元素进行交换,第二趟,从第 1 个元素开始向后遍历...找到最小值与第2个元素 进行交换,以此类推 // 从而得出规律,每次遍历元素开始位置为 i+1,并维护每轮循环的最小值的索引,一轮循环结束后,通过最小值的索引获取到最小值,与起始位置交换 // 稳定性:因为选择排序每次找到最小值...arr[minIndex] = temp; } console.log(`执行了${count}趟循环`); return arr; } console.log("普通选择排序...0, 1, 6, 5])); // 执行了9趟循环 console.log(selectSort([1, 2, 3, 4, 5, 6, 7, 8, 9, 9])); // 执行了9趟循环 // 优化选择排序...break; } } console.log(`执行了${count}趟循环`); return arr; } console.log("普通选择排序

4.5K10

NFT版权归谁所有?Mfers、Moonbirds:我选择CC0

*图源:https://creativecommons.org/share-your-work/public-domain/cc0/ 简单来说,一旦某一件作品的版权所有者声明了 CC0 许可,即表明在法律允许的最大限度内放弃该作品版权...,也就是说全球任何人都可以在不标识作者和来源的情况下无条件地将作品用于商业/非商业用途,且无需经过任何申请,所有人也无权再追究责任。...更利益相关一点的话,就意味着即使你没有购买该 NFT,你也可以对其进行二次创作并重新上链进行售卖,基于此产生的收益皆归你本人所有。...与此同时,有关“授权”、“所有权”的问题,也引发了部分人对于“NFT是不是去中心化项目”的讨论。

1.1K10

JS手撕(十一) 选择排序、快速排序

JS手撕(十一) 选择排序、快速排序 选择排序 原理 选择排序原理就是每次从未排序序列中选择最小元素,放到已排序序列的末尾。 那么如何选择最小元素,并把最小元素放到已排序序列的末尾?...图片来自菜鸟教程 JS实现 function selectSort(arr) { const len = arr.length; let minIndex; // 保存最小数的索引...将所有比基准值小的放在基准前面,所有比基准值大的放在放在基准后面。...该操作称为分区操作(partition) 递归地把小于基准值地子序列和大于基准值地子序列排序 图片来自菜鸟教程 JS实现 function quickSort(arr, l, r) { if...Math.floor(Math.random() * (r - l) + l); [arr[l], arr[pivot]] = [arr[pivot], arr[l]]; pivot = l; JS

2.3K20
领券