zoukankan      html  css  js  c++  java
  • 排序算法02--冒泡排序

    思路:冒泡排序 就是把大的数一个个沉到下面,当然也可以是把小的数一个个浮到上面。

       在最外层需要比较n-1次,因为n-1个大的数被沉到了下面,剩下一个自然就是最小的数了。

       在这n-1次的里层,还需要亮亮相互比较,这次比较的次数是 n-1-i次,这也比较好理解,每当一轮最大的数沉到下面,之后它就不需要再拿出来比较了,自然比较的次数就需要再 -i。  在里层循环要做的也很简单,两两比较,然后如果前面的比后面一个大,交换位置,否则不做操作。

       如果想把小的一个个浮到上面,思路一致,代码如下:

        可以将以上代码优化一下,降低它的时间复杂度。

        无非就是在里层循环之前加一个标识符,一开始赋值0,在里层判断里对标识符进行加操作。这样如果在某一次进行里层循环时,标识符的值没有变,就说明,两两比较的结果是正确的,不需要调换位置,即已经排序好,所以没必要继续循环下去,即时退出即可。

  • 相关阅读:
    Python_Day3
    Python_Day2
    动漫推荐3.0 杂谈
    动漫推荐2.0 杂谈
    动漫推荐1.0 剧情向
    西湖十大特产
    一到春天 杭州西湖就美成了一幅画
    机械键盘十大品牌排行榜
    键盘的日常维护及清理
    无线键盘
  • 原文地址:https://www.cnblogs.com/xinjydeshow/p/5851979.html
Copyright © 2011-2022 走看看