JS 实现冒泡排序
看起来没问题,不过一般生成环境都不用这个,原因是效率低下,冒泡排序在平均和最坏情况下的时间复杂度都是O(n^2),最好情况下都是O(n),空间复杂度是O(1)。因为就算你给一个已经排好序的数组,如[1, 2, 3, 4, 5, 6],它也会走一遍流程,白白浪费资源。那么好的解决办法是什么?升序冒泡:两次循环,相邻元素两两比较,如果前面的大于后面的,就交互位置;降序冒泡:两次循环,相邻元素两两比较,如果前面的小于后面的,就交互位置;答案是:加个标识,如果已经排好序的,就直接跳出循环。
原创
2024-05-14 18:21:27 ·
159 阅读 ·
0 评论