zoukankan      html  css  js  c++  java
  • php 冒泡算法

    <?php
    /**
     * 冒泡排序算法
     * @param array $arr
     * @return array
     */
    function bubble_sort($arr) {
        // 判断参数是否为数组,且不为空
        if (!is_array($arr) || empty($arr)) {
            return $arr;
        }
        // 循环需要冒泡的轮数
        for ($i = 1, $len = count($arr); $i < $len; $i++) {
            // 循环每轮需要比较的次数
            for ($j = 0; $j < $len - $i; $j++) {    
                // 大的数,交换位置,往后挪
                if ($arr[$j] > $arr[$j + 1]) {
                    $temp = $arr[$j + 1];
                    $arr[$j + 1] = $arr[$j];
                    $arr[$j] = $temp;
                }
                echo $i;
            }
         
        }
        var_dump($arr);die;
        return $arr;
    }
    $arr =[1,5,3,6,7,45,2];
    bubble_sort($arr);

    设计  思路 两层循环

    1,最里面的一层设计

    相邻的两个数做比较  后面一个比前面一个小,则用 临时数转换,使后面的哪一个大于前面的一个数值

    转化 过程  1.  1  3 5 6 7 2 45

    2.  1 3 5 6 2 7 45

    3  1 3 5 2 6 7 45

    4  1 3 2 5 6 7 45

    5  1 2 3 5 6 7 45 

    6最后一个不需要循环,因为已经达到需要效果排序

  • 相关阅读:
    HTML
    汉企,新的起点
    表格标签
    常用标签
    HTML
    我的未来规划
    世界首富如何炼成? 看盖茨20条箴言
    获取Java项目根目录 N多方法(转载)
    进程间通信——管道
    necessitas
  • 原文地址:https://www.cnblogs.com/kevin-yang123/p/13886032.html
Copyright © 2011-2022 走看看