冒泡排序的PHP实现 Bubble Sort

冒泡排序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>';
posted @ 2017-09-06 15:38  永杰本杰  阅读(404)  评论(0编辑  收藏  举报