• 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;

  • 相关阅读:
    [Javascript] Prototype Pattern
    [Typescript] tsexpecterror
    [React] Compound Pattern
    [React] SWR for data fetching
    [Javascript] Factory pattern vs Class instance
    [Typescript] Only Type import or export
    AcWing 1113. 红与黑
    AcWing 178 第K短路
    AcWing 190.字串变换
    AcWing 165 小猫爬山
  • 原文地址:https://www.cnblogs.com/bluealine/p/7985499.html
Copyright © 2020-2023  润新知