php冒泡排序实现方法,传入几个数字排序后 输出实战例子

php冒泡排序实现方法,传入几个数字排序后 输出实战例子

算法和数据结构是一个编程工作人员的内功。
四种入门级排序算法: 冒泡排序、选择排序、插入排序、快速排序。

一、冒泡排序

  原理:对一组数据,比较相邻数据的大小,将值小数据在前面,值大的数据放在后面。 (以下都是升序排列,即从小到大排列)

  举例说明: $arr = array(6, 3, 8, 2, 9, 1);

   $arr 有6个数据,按照两两比较大小如下,注意 比较轮数 和 每轮比较次数

  第一轮排序:

    第一次比较 6和3比较 结果:3 6 8 2 9 1

    第二次比较 6和3比较 结果:3 6 8 2 9 1

    第三次比较 8和2比较 结果:3 6 2 8 9 1

    第四次比较 8和9比较 结果:3 6 2 8 9 1

    第五次比较 9和1比较 结果:3 6 2 8 1 9

  第一轮比较总结:1.排序第1轮、比较5次,没有获得从小到大的排序

function orderArray($arr) {
    $count = count($arr);
    $temp = 0;
    // 外层控制排序轮次
    for ($i = 0; $i < $count - 1; $i ++) {
        // 内层控制每轮比较次数
        for ($j = 0; $j < $count - 1 - $i; $j ++) {
            if ($arr[$j] > $arr[$j + 1]) {
                $temp = $arr[$j];
                $arr[$j] = $arr[$j + 1];
                $arr[$j + 1] = $temp;
            }
        }
    }
    return $arr;
}

function orderNumber($a1,$a2,$a3,$a4) {
    $arr = array($a1,$a2,$a3,$a4);
    $rs = orderArray($arr);
    echo '<b>'.$rs[0].$rs[1].$rs[2].$rs[3].'</b>';
}
<?=orderNumber(2,9,5,3) ?>

 

posted @ 2018-10-12 02:00  大自然的流风  阅读(1447)  评论(0编辑  收藏  举报