zoukankan      html  css  js  c++  java
  • [php]数据结构&算法(PHP描述) 冒泡排序 bubble sort

     1 <?php
    2 /**
    3 * 冒泡排序 bubble sort
    4 *
    5 * 原理:多次循环进行比较,每次比较时将最大数移动到最上面。每次循环时,找出剩余变量里的最大值,然后减小查询范围。这样经过多次循环以后,就完成了对这个数组的排序
    6 */
    7 function sort_bubble($list)
    8 {
    9 $len=count($list);
    10 if(empty($len)) return$list;
    11 $is_change=false;
    12
    13 for($i=0;$i<$len; $i++)
    14 {
    15 for($j=$i+1; $j<$len; $j++)
    16 {
    17 $flag='';
    18 if($list[$i] >$list[$j]) // 从小到大
    19 //if($list[$i] < $list[$j]) // 从大到小
    20 {
    21 $tmp=$list[$i];
    22 $list[$i] =$list[$j];
    23 $list[$j] =$tmp;
    24
    25 $is_change=true; // 进行了交换
    26
    27 $flag=" change";
    28 }
    29 echoimplode(',',$list).$flag."<br/>";
    30 }
    31
    32 if(!$is_change) { // 如果第一轮没有发生值交换的话,说明传入的数组是顺序,不需要再进行排序了
    33 break;
    34 }
    35
    36 echo"-------------------------<br/>";
    37 }
    38 return$list;
    39 }
    40
    41 $list=array(4,3,2,1,5,7,3,7);
    42 $list= sort_bubble($list);

     根据 @楚风 提示修改了一下 如果第一轮没有发生值交换的话 跳出; 2011-07-26

  • 相关阅读:
    软件项目管理阅读笔记02
    大二下周总结(11)
    “帮你APP”团队冲刺9
    “帮你APP”团队冲刺8
    “帮你APP”团队冲刺7
    “帮你APP”团队冲刺6
    “帮你APP”团队冲刺5
    单词统计
    “帮你APP”团队冲刺4
    “帮你APP”团队冲刺3
  • 原文地址:https://www.cnblogs.com/bluefrog/p/2101523.html
Copyright © 2011-2022 走看看