冒泡排序Bubble Sort的PHP实现。代码中函数说明:

  • out_arr,用于将数组输出成一个字符串,以便查看
  • bubblesort,第一种实现方案,从后往前依次选出需要的值,这里是较大的
  • bubblesort2,第二种方案,从前往后一次选中需要的值,这里是最小的
  • range,产生一个1到20的数组
  • shuffle,打乱数组
    01
    function out_arr($arr) {
    02
    return implode(', ', $arr).'
    03
    ';
    04
    }
    05 06
    function bubblesort($arr) {
    07
    for ($i = 0; $i < count($arr) - 1; $i++ ) {
    08
    for($j = 0; $j < count($arr) - $i - 1; $j++ ) {
    09
    if( $arr[$j] > $arr[$j+1] ) {
    10
    $tmp = $arr[$j];
    11
    $arr[$j] = $arr[$j + 1];
    12
    $arr[$j + 1] = $tmp;
    13
    }
    14
    }
    15
    echo sprintf('%3d', $i).' : '.out_arr($arr);
    16
    }
    17
    }
    18 19 20
    function bubblesort2($array) {
    21
    $count = count($array);
    22
    for($i=0; $i<$count; $i++) {
    23
    for($j=$count-1; $j>$i; $j--) {
    24
    if ($array[$j] < $array[$j-1]) {
    25
    $tmp = $array[$j];
    26
    $array[$j] = $array[$j-1];
    27
    $array[$j-1] = $tmp;
    28
    }
    29
    }
    30
    echo sprintf('%3d', $i).' : '.out_arr($array);
    31
    }
    32
    return $array;
    33
    }
    34
    echo '<pre>';
    35
    $arr = range(1, 20);
    36
    shuffle($arr);
    37
    echo 'ORG : '.out_arr($arr);
    38
    bubblesort2($arr);
    39
    echo '</pre>';

      

冒泡排序Bubble Sort的PHP实现。代码中函数说明:

  • out_arr,用于将数组输出成一个字符串,以便查看
  • bubblesort,第一种实现方案,从后往前依次选出需要的值,这里是较大的
  • bubblesort2,第二种方案,从前往后一次选中需要的值,这里是最小的
  • range,产生一个1到20的数组
  • shuffle,打乱数组
01 function out_arr($arr) {
02     return implode(', '$arr).'
03 ';
04 }
05  
06 function bubblesort($arr) {
07     for ($i = 0; $i count($arr) - 1; $i++ ) {
08         for($j = 0; $j count($arr) - $i - 1; $j++ ) {
09             if$arr[$j] > $arr[$j+1] ) {
10                 $tmp $arr[$j];
11                 $arr[$j] = $arr[$j + 1];
12                 $arr[$j + 1] = $tmp;
13             }
14         }
15         echo sprintf('%3d'$i).' : '.out_arr($arr);
16     }
17 }
18  
19  
20 function bubblesort2($array) {
21     $count count($array);
22     for($i=0; $i<$count$i++) {
23         for($j=$count-1; $j>$i$j--) {
24             if ($array[$j] < $array[$j-1]) {
25                 $tmp $array[$j];
26                 $array[$j] = $array[$j-1];
27                 $array[$j-1] = $tmp;
28             }
29         }
30         echo sprintf('%3d'$i).' : '.out_arr($array);
31     }
32     return $array;
33 }
34 echo '<pre>';
35 $arr = range(1, 20);
36 shuffle($arr);
37 echo 'ORG : '.out_arr($arr);
38 bubblesort2($arr);
39 echo '</pre>';

最新文章

  1. XAF ObjectSpace保存时添加记录
  2. Javascript的DOM操作 - 你真的了解吗?
  3. CSS实时编辑显示
  4. Android笔记: 查看SDK源码
  5. using-ef-code-first-with-an-existing-database
  6. [原]对Linux环境下任务调度一点认识
  7. mencoder mencoder 安装使用及常用参数
  8. ubuntu创建用户
  9. 【html】【14】特效篇--侧边栏客服
  10. Linux 计算器
  11. Innobackupex 全备数据库
  12. WPF 各种基础动画实现
  13. Android: Type Method &#39;NewStringUTF&#39; could not be resolved
  14. Minigui3.0 自定义遥控输入引擎
  15. 更新下载库update绝对详解
  16. maven 分隔环境
  17. C++基础知识--DAY4
  18. 【译】使用 ndb 调试 node 应用
  19. haproxy + nginx + proxy protocol 获得客户真实IP方法
  20. jQuery源码解读三选择器

热门文章

  1. Dev GridControl 小结3
  2. [转载]Apache在windows下的安装配置
  3. openssl之EVP系列之7---信息摘要算法结构概述
  4. (4.11)DBCC 常用命令
  5. Slyce,这家硅谷创业公司的来头你知道吗
  6. 【WEB HTTP】集成点:网关、隧道及中继
  7. Autonomous System
  8. DES算法解析
  9. Linux基础系列:常用命令(3)
  10. docker-compose no such image