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

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

时间:2017-09-22 10:14:37      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:设置   例子   color   char   else   function   fun   func   数组   

 1 <?php
 2     //设置请求头
 3     header("content-type:text/html;charset=utf-8");
 4     
 5     //对冒泡排序进行优化:如果数组在传进来或者遍历一次两次后
 6     //就已经排好了 就不再进行排序操作
 7 
 8     //例子:
 9     $arr = array(1,2,3,6,4,12,1,85,1,3); //待排序数组
10 //    $arr = range(1, 10000);
11     
12     function my_bubble_sort(&$arr){
13         var_dump($arr);
14         
15         $arr_count = count($arr);
16 
17         //比较次数
18         for($i=0; $i<$arr_count - 1; $i++){
19             
20             for($j=0; $j<$arr_count - $i - 1; $j++){
21                 
22                 //大向右移动,小向左移动(从大到小只需要该一下符号)
23                 if($arr[$j] > $arr[$j+1]){
24                     //交换操作
25                     $temp = $arr[$j];
26                     $arr[$j] = $arr[$j + 1];
27                     $arr[$j + 1] = $temp;
28                     $flag = 1;
29                 }
30             }
31 
32             if(!$flag){
33                 //如果$flag=0表示 小for循环没有进行过1次数据交换(没有进行过一次比较就可以说明该数组已经排序好)
34                 //也就说不需要进行排序
35                 break;
36             }else{
37                 $flag = 0;
38             }
39         }    
40 
41         var_dump($arr);
42     }
43 
44      
45 
46     date_default_timezone_set (‘PRC‘);
47     
48 //    echo "start:" . date(‘H:i:s‘) . ‘<br>‘;
49     my_bubble_sort($arr);
50 //    echo "end:" . date(‘H:i:s‘);
51 
52 ?>

 

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

标签:设置   例子   color   char   else   function   fun   func   数组   

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

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