zoukankan      html  css  js  c++  java
  • php冒泡排序详解笔记

    冒泡

    /*
     * 冒泡排序(从小到大)
     * 介绍:
     * 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。
     * 思路:
     *     比较相邻的元素。如果第一个比第二个大,就交换他们两个。
     *     对第0个到第n-1个数据做同样的工作。这时,最大的数就“浮”到了数组最后的位置上
     *     针对所有的元素重复以上的步骤,除了最后一个
     *     持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较
     * 步骤:  假如10个数字
     *       【
     *         先找出10个数字中最大的抛出去,剩下9个数字
     *         再找出9个数字最大的跑出去,  剩下8个数字
     *          以此类推……
     *        】
     *       怎么找出一组数最大数字(冒泡):
     *         【
     *           将第1个与第2个比,大的往后排
     *           将第2个与第3个比,大的往后排
     *           以此类推……
     *           最后一个就是最大的
     *          】
    

    代码

    $order_array=array(
    5,4,3,6,7,1,2,10,8,9
    );
    function bubble_order($arr){
        //得到长度
        $count_num=count($arr);
    
        for($k=1;$k<$count_num;$k++){
    
            //对长度越来越少的一组数据 找出最大让其浮到最后
    
            for($i=0;$i<$count_num-$k;$i++){
    
                if($arr[$i]>$arr[$i+1]){//相邻比较
                    $tem=$arr[$i];
                    $arr[$i]=$arr[$i+1];
                    $arr[$i+1]=$tem;
                }
    
            }
        }
        return $arr;
    }
    $new_order_arr=bubble_order($order_array);
    

      

  • 相关阅读:
    ZOJ 3818 Pretty Poem
    HDU 4597 Play Game
    HDU 4497 GCD and LCM
    CSU 1335 高桥和低桥
    UVA 10791 Minimum Sum LCM
    CSU 1119 Collecting Coins
    CSU 1120 病毒
    UVA 12169 Disgruntled Judge
    HDU 1301 Jungle Roads
    POJ 1258 Agri-Net
  • 原文地址:https://www.cnblogs.com/bluealine/p/7985446.html
Copyright © 2011-2022 走看看