首页 > 编程语言 > 详细

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

时间:2017-09-22 09:39:07      阅读:234      评论:0      收藏:0      [点我收藏+]
 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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!