冒泡排序

 1 //数组元素值从小到大排序
 2     $arr=array(1,42,0,3,15,7,19,26);
 3     foreach($arr as $k=>$v)
 4     echo " index:$k -- value:$v<br>";
 5      
 6     echo "<hr color=red />";
 7     echo "After applying sort() <br>";   
 8     $ar=$arr;
 9     //定义一个中间变量
10     sort($ar);
11     print_r($ar);
12      
13     echo '<br><hr color=red />';
14     echo "使用 冒泡排序";
15     $temp=0;
16     //外层循环的次数
17     for($i=0;$i<count($arr)-1;$i++){
18         $exchange=false;
19         //内层之间向右相邻的两个数组元素值进行比较
20         for($j=0;$j<count($arr)-1-$i;$j++){
21             //当后一个数组元素值大于前一个数组原数值
22             if($arr[$j]>$arr[$j+1]){
23             //数组元素交换
24                $temp=$arr[$j];
25                $arr[$j]=$arr[$j+1];
26                $arr[$j+1]=$temp;
27                $exchange=true;
28               }
29  
30            }
31         //外层数组循环的次数是---count($arr)-1
32         //-1的原因(数组元素值比较时是两个比较
33         //如3个数组元素比较2次
34         echo "这是第".($i+1)."次比较的结果";
35         echo "<pre/>";
36         print_r($arr);
37         echo "<pre/>";
38         if (!$exchange)
39         break;
40        }
41     echo "<hr color=red />";
42     echo "<pre/>";
43     print_r($arr);
44     echo "<pre/>"
原文地址:https://www.cnblogs.com/d-kis/p/5689304.html