码迷,mamicode.com
首页 > 编程语言 > 详细

排序之冒泡排序-PHP

时间:2017-09-22 10:18:19      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:class   一个   排序   log   移动   请求   color   数组   逆序   

 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

标签:class   一个   排序   log   移动   请求   color   数组   逆序   

原文地址:http://www.cnblogs.com/tandi19960505/p/7572427.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!