php 实现冒泡、选择、插入和快速排序详解

1、冒泡排序思路分析:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。

function maopao($arr){
           $count = count($arr);
           $center = '';
          for($i=1;$i<=$count;$i++){
               for($m=0;$m<$count-$i;$m++){
                if($arr[$m] > $arr[$m+1]){
                    $center = $arr[$m];
                    $arr[$m] = $arr[$m+1];
                    $arr[$m+1] = $center;
                }
               }
          }
          return $arr;
}


$arr = array(4,7,22,44,9,3,55);

var_dump(one($arr));

冒泡排序顾名思义:通俗的说就是每次交换2个相邻数字的位置,根据其大小,由于是往右交换,所以第一次循环以后最大的就沉淀在了最后面,故此
m< count-$i 第二次循环的次数会随着大的沉淀而减少
例如定义的数组,其过程为:
1次循环
4 7 22 9 3 44 55
2次循环
4 7 9 3 22 44 55
3次循环
4 7 3 9 22 44 55
4次循环
4 3 7 9 22 44 55
5次循环
3 4 7 9 22 44 55

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值