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

    冒泡

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

    代码

    $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);
    print_r($new_order_arr);
  • 相关阅读:
    多项式多点求值和插值
    Java Dao设计模式
    (转)HTTP长连接和短连接
    JavaScript——this关键字
    JavaScript——Prototype详探
    JavaScript——特殊点总结
    JavaScript——正则表达式
    JavaScript——Window对象
    JavaScript——this、constructor、prototype
    JavaScript——事件模型
  • 原文地址:https://www.cnblogs.com/shenzikun1314/p/8466240.html
Copyright © 2011-2022 走看看