宽屏模式

冒泡排序法

冒泡排序法

  • 原理如下:
  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  2. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
  3. 针对所有的元素重复以上的步骤,除了最后一个。
  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
  • 算法复杂度:O(n²)

算法源代码

/**
* 外层循环控制每个元素比较次数,
* 里层循环控制哪2个元素作比较。
*/
$arr = [1,3,7,5,0,5,6,7,6,7,8,1,9,8,10];
$len = count($arr);
for ($i=1;$i<$len;$i++){
    for ($j=0;$j<$len;$j++){
        if ($arr[$j]>$arr[$j+1]){
            $tmp = $arr[$j];
            $arr[$j] = $arr[$j+1];
            $arr[$j+1] = $tmp;
        }
    }
}

Larwas
请先登录后发表评论
  • latest comments
  • 总共0条评论