七大排序问题之冒泡排序(PHP版)

<?php
    function bubbleSort(&$array){
        for($i=0;$i<count($array);$i++)
        {
            for($j=$i+1;$j<count($array);$j++)
            {
                if($array[$i] > $array[$j])
                {
                    /* $temp=$array[$i];
                    $array[$i]=$array[$j];
                    $array[$j]=$temp; */
                    swap($array[$i],$array[$j]);
                }
            }
            dispalay($array);
        }
        
    }
    $arr=array("1","5","9","6","8","2","3","4","7");
    function swap(&$i,&$j)
    {
        $temp=$i;$i=$j;$j=$temp;
    }
    function dispalay(&$array)
    {
        for($i=0;$i<count($array);$i++)
        {
            echo $array[$i].":";
        }
        echo "\n";
    }
    bubbleSort($arr);

结果如下:

1:5:9:6:8:2:3:4:7:
1:2:9:6:8:5:3:4:7:
1:2:3:9:8:6:5:4:7:
1:2:3:4:9:8:6:5:7:
1:2:3:4:5:9:8:6:7:
1:2:3:4:5:6:9:8:7:
1:2:3:4:5:6:7:9:8:
1:2:3:4:5:6:7:8:9:
1:2:3:4:5:6:7:8:9:

结果分析:
1.原始序列(1,5,9,6,8,2,3,4,7)第一趟,以原始系列第一个元素为基准,若在其他元素中发现更小的元素,则交换

2.第二趟以系列(1,5,9,6,8,2,3,4,7)的第二个元素为基准,若在第二个元素以后的元素中发现更小的元素,则交换

3.第三趟以系列(1:2:9:6:8:5:3:4:7)的第三个元素为基准,若在第三个元素以后的元素中发现更小的元素,则交换

4-9:第四趟至第九趟依此类推
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值