zoukankan      html  css  js  c++  java
  • 冒泡排序原理

    看到很多介绍冒泡排序的地方,包括教课书上个人感觉很多描述的都不是很清楚,也可能是我个人的理解能力差一点,但是从网上搜到得这张图看起来很清晰了,转发一下希望能帮助到有的朋友。
    冒泡排序原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第二位时结束,其余类似看例子。

    或者可以这样描述冒泡排序:

    就是将第一个记录的关键字和第二个记录的关键字进行比较, 

    如果后面的比前面的小则交换,然后比较第二个和第三个,依次类推。

    比完一趟,最大的那个已经放到了最后的位置,这样就可以对前面N-1个数再循环比较。  

    稳定,时间复杂度 O(n^2)

    冒泡排序原理(有图)

    实例 : //冒泡排序(数组排序) 

    function bubble_sort($array) {
    $count = count($array); 
    if ($count <= 0) return false; 
    for($i=0; $i<$count; $i++){ 
      for($j=$count-1; $j>$i; $j–){ 
        if ($array[$j] < $array[$j-1]){ 
          $tmp = $array[$j]; 
          $array[$j] = $array[$j-1]; 
          $array[$j-1] = $tmp; 
        } 
      } 

    return $array; 

  • 相关阅读:
    AI进阶之路
    python--数学运算函数
    QT之QChar
    字符串类QString
    Qt5多线程
    matplotlib动画
    matplotlib的安装和允许中文及几种字体
    python---wav音频
    python---多线程
    python--Excel模块xlwings
  • 原文地址:https://www.cnblogs.com/gaf617/p/3945767.html
Copyright © 2011-2022 走看看