javascript 冒泡排序

今天写bug 2023-04-28 13:49:13

循环数组,比较当前元素和上一个元素,如果当前元素比上一个元素小,向下冒泡。

这样一次循环之后最前一个数就是本数组最小的数。

下一次循环继续上面的操作,不循环已经排序好的数。

优化:当一次循环没有发生冒泡,说明已经排序完成,停止循环。

    function bubbleSort(array) {
        //第一个循环是所需次数
      for (let j = 0; j < array.length; j++) {
        let complete = true;
        for (let i = array.length-1; i>j; i--) {
          // 比较相邻数
          if (array[i] < array[i -1]) {
            [array[i], array[i - 1]] = [array[i - 1], array[i]];
            complete = false;
          }
        }
        // 没有冒泡结束循环
        if (complete) {
          break;
        }
      }
      return array;
    }
...全文
209 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

25,468

社区成员

发帖
与我相关
我的任务
社区描述
欢迎加入鱼找水(一起学编程)社区,知识从未如此性感,学习从未如此快乐。社区活动丰富更有众多CSDN定制周边礼物,欢迎更多志同道合 爱学习 爱交流的朋友入驻社区,助您遨游在编程的海洋中!
后端前端框架服务器 个人社区 北京·海淀区
社区管理员
  • 鱼找水需要时间
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

欢迎各位加入【一起学编程】社区,本社区旨在为大家营造一个良好的学习技术沟通平台。

【在这里你可以干什么】

如果你有不能解决的编程问题,欢迎在此处提问:问题求助

如果你在接触前沿的技术,欢迎在此处分享:交流讨论

如果你目前在学习软件编程知识,欢迎在此处打卡:学习打卡

如果你想了解最近的CSDN活动,请看此处:社区活动

如果看到写的非常好的博客,欢迎此处收录:博文收录

【我们的愿景是什么】

没有学不会的东西,问题在于你肯不肯学。遇到不懂的知识点 前沿的技术,希望我们都能有一颗求知的心,乐于分享 互相督促学习。我们因CSDN这个大平台而相聚在这里,就像一条条离开水的鱼,希望在这里能够遨游在知识的海洋里。你我共勉

试试用AI创作助手写篇文章吧