数组之冒泡排序法--从小到大

这个仍然是别人的例子,我加了很多注释。希望以后自己能独立编写一些好的程序。

<?php
    /*
    * @return array
    * @param array $arr  需要冒泡的数组
    * @param int $len  需要冒泡的数组的长度
    * @param int $i 循环长度
    * @param int $k 对比长度
    * @param array $tmp 临时对比的数组,比较小的数组
    * Array函数 count() 函数计算数组中的单元数目或对象中的属性个数。
    */
    //需要冒泡的数组
    $arr=array(5,43,54,62,21,66,32,78,36,76,39);
    //定义冒泡的函数
    function getpao($arr){  
        //计算数组长度
        $len=count($arr);
        //设置一个空数组 用来接收冒出来的泡
        //该层循环控制 需要冒泡的轮数
        for($i=1;$i<$len;$i++){ 
            //该层循环用来控制每轮冒出的数组以及需要比较的次数
            for($k=0;$k<$len-$i;$k++){
                if($arr[$k]>$arr[$k+1]){
                    //赋值小的数组给$tmp
                    $tmp=$arr[$k+1];
                    //赋值大的数组,将其位置首先赋值给第1位,下一循环是第2位,第3位...
                    $arr[$k+1]=$arr[$k];
                    //重新赋值小的数组,将其位置首先赋值给第0位,下一循环是第1位,第2位..
                    $arr[$k]=$tmp;
                }
            }
        }
        //返回整个数组
        return $arr;
    } 
    //打印整个数组
    print_r(getpao($arr));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值