• 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) ?>
  • 相关阅读:
    redis报错io.lettuce.core.RedisCommandTimeoutException: Command timed out after
    showloading showtoast一起用
    uniapp,mpvue微信,支付宝兼容性说明
    uniapp 自定义组件
    Vue 函数式组件 functional
    mac uninstall node ,npm from official
    mpvue问题记录:组件方法执行机制
    linux 文件 分割重组
    MySql日期操作
    .NET Core连接数据库
  • 原文地址:https://www.cnblogs.com/zdz8207/p/php-order-number.html
Copyright © 2020-2023  润新知