php 冒泡排序原理

$start = microtime(true);
   $popArr = array(6,3,23,1,5,100,399,99,66);
   echo '6,3,23,1,5,100,399,99,66';
   $len = count($popArr);
   for ($j=0; $j<$len; $j++)
   {
       for ($i=$len-1; $i>$j; $i--)
       {
           if ($popArr[$i] < $popArr[$i-1])
           {
               $x = $popArr[$i];
               $popArr[$i] = $popArr[$i-1];
               $popArr[$i-1] = $x;
           }
       }
   }
   /*
   j=0 i=8 99和66互换了     array(6,3,23,1,5,100,399,66,99);
       i=7 399和66互换了  array(6,3,23,1,5,100,66,399,99);
       i=6 100和66互换了  array(6,3,23,1,5,66,100,399,99);
       i=5   没变化
       i=4   没变化
       i=3 23和1互换了       array(6,3,1,23,5,66,100,399,99);
       i=2 3和1互换了          array(6,1,3,23,5,66,100,399,99);
       i=1 6和1互换了          array(1,6,3,23,5,66,100,399,99);
       
   j=1 i=8 399和99互换了  array(1,6,3,23,5,66,100,99,399);
       i=7 100和99互换了  array(1,6,3,23,5,66,99,100,399);
       i=6   没变化                  array(1,6,3,23,5,66,99,100,399);
       i=5   没变化                  array(1,6,3,23,5,66,99,100,399);
       i=4 23和5互换了       array(1,6,3,5,23,66,99,100,399);
       i=3   没变化                  array(1,6,3,5,23,66,99,100,399);
       i=2 6和3互换了          array(1,3,6,5,23,66,99,100,399);
       
   j=2 i=8   没变化                  array(1,3,6,5,23,66,99,100,399);
       i=7   没变化                  array(1,3,6,5,23,66,99,100,399);
       i=6   没变化                  array(1,3,6,5,23,66,99,100,399);
       i=5   没变化                  array(1,3,6,5,23,66,99,100,399);
       i=4   没变化                  array(1,3,6,5,23,66,99,100,399);
       i=3 6和5互换了          array(1,3,5,6,23,66,99,100,399);
       
   j=3 i=8   没变化                  array(1,3,5,6,23,66,99,100,399);
       i=7   没变化                  array(1,3,5,6,23,66,99,100,399);
       i=6   没变化                  array(1,3,5,6,23,66,99,100,399);
       i=5   没变化                  array(1,3,5,6,23,66,99,100,399);
       i=4   没变化                  array(1,3,5,6,23,66,99,100,399);
       
   j=4 i=8   没变化                  array(1,3,5,6,23,66,99,100,399);
       i=7   没变化                  array(1,3,5,6,23,66,99,100,399);
       i=6   没变化                  array(1,3,5,6,23,66,99,100,399);
       i=5   没变化                  array(1,3,5,6,23,66,99,100,399);
       
   j=5 i=8   没变化                  array(1,3,5,6,23,66,99,100,399);
       i=7   没变化                  array(1,3,5,6,23,66,99,100,399);
       i=6   没变化                  array(1,3,5,6,23,66,99,100,399);
       
   j=6 i=8   没变化                  array(1,3,5,6,23,66,99,100,399);
       i=7   没变化                  array(1,3,5,6,23,66,99,100,399);
       
   j=7 i=8   没变化                  array(1,3,5,6,23,66,99,100,399);
   */
   echo '<pre>';
   print_r($popArr);
   echo microtime(true) - $start;
   die;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值