排序之冒泡排序-PHP

Posted 巅峰小学生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序之冒泡排序-PHP相关的知识,希望对你有一定的参考价值。

 1 <?php
 2     //设置请求头
 3     header("content-type:text/html;charset=utf-8");
 4     
 5     /*
 6         冒泡排序的算法思想:
 7             例如:10 7 2 6 是一个数组
 8             要求:从小到大排序
 9 
10         第1轮
11             1)10 和 7 比较,7比10小,结果:7 10 2 6
12             2)10 和 2 比较,2比10小,结果:7 2 10 6
13             3)10 和 6 比较,6比10小,结果:7 2 6 10
14 
15         第2轮
16             1)7 和 2 比较,2比7小,结果:2 7 6 10
17             2)7 和 6 比较,6比7小,结果:2 6 7 10
18 
19         第3轮
20             1)2 和 6 比较,2比6小,结果:2 6 7 10    
21             比较结束。。。。
22 
23         总结:每一轮比较结束后,这轮结果的最后一个数就不参与下一轮的比较
24             逆序一样
25     */
26 
27 
28     //例子:
29     $arr = array(10,7,2,6); //要排序数组
30 
31     function my_bubble_sort(&$arr){
32         var_dump($arr);
33         
34         $arr_count = count($arr); //4
35 
36         //比较次数
37         for($i=0; $i<$arr_count - 1; $i++){
38             
39             for($j=0; $j<$arr_count - $i - 1; $j++){
40                 
41                 //大向右移动,小向左移动(从大到小只需要该一下符号)
42                 if($arr[$j] > $arr[$j+1]){
43                     //交换操作
44                     $temp = $arr[$j];
45                     $arr[$j] = $arr[$j + 1];
46                     $arr[$j + 1] = $temp;
47                 }
48             }
49         }    
50 
51         var_dump($arr);
52     }
53 
54      my_bubble_sort($arr);
55 
56 
57 ?>

 

以上是关于排序之冒泡排序-PHP的主要内容,如果未能解决你的问题,请参考以下文章

排序之冒泡排序-PHP

排序之冒泡排序(优化)-PHP

PHP之冒泡排序

PHP之快速排序和冒泡排序性能对比

重温PHP之冒泡排序

PHP冒泡排序算法