冒泡排序算法

演示数组为跋山涉水的近义词

  $a = array(9,3,5,8,2,7);  //下标为0,1,2,3,4,5

演算进度描述跋山涉水的近义词

  从数组的左侧起初,依次两两相比较相邻的2个数据的高低,假设发掘右侧包车型客车比左边的大,则将她们开展置换。那样进行“热气腾腾趟”之后,必然可以明确最大的二个数额放在最右面。

  按此方法,对“剩余的数额”继续开展下黄金年代趟,则鲜明能够规定那么些剩余数量的最大值放在剩余地方的最侧边。

演示:

原始数组: 9 3 5 8 2 7
第一趟后: 3 5 8 2 7 9
第二趟后: 3 5 2 7 8 9
第三趟后: 3 2 5 7 8 9
第四趟后: 2 3 5 7 8 9
第五趟后: 2 3 5 7 8 9

 

 

 

 

 

 

原理描述爬山涉水

  1,即使数组的数额有n个;

  2,要举办比较的“趟数”为n-1趟;

  3,每活龙活现趟要比较的数额个数都比前如日中天趟少三个,第黄金时代趟要相比n个(即比较n-1次);

  4,没二回相比较,若是开掘“左侧数据”大于“侧面数据”,就对这两个举办置换个地方置。

代码演示如下跋山涉水的近义词

<?php
$a = array(9,3,5,8,2,7);//下标为0,1,2,3,4,5
echo "排序之前:";print_r($a);

$n = count($a);//个数
for($i=0;$i<$n-1;++$i)//这就是n-1趟
{
    for($k=0;$k<$n-$i-1;++$k)//这就是比较的次数
    {
        if($a[$k]>$a[$k+1])
        {
            $t = $a[$k];
            $a[$k] = $a[$k+1];
            $a[$k+1] = $t;
        }
    }
}
echo "<br />排序之后:";print_r($a);

运行结果跋山涉水的近义词

  排序从前跋山涉水的近义词Array ( [0] => 9 [1] => 3 [2] => 5 [3]
=> 8 [4] => 2 [5] => 7 ) 
  排序之后跋山涉水的近义词Array ( [0] => 2 [1] => 3 [2] => 5 [3]
=> 7 [4] => 8 [5] => 9 )

发表评论

电子邮件地址不会被公开。 必填项已用*标注