phpバブルソート原理

2485 ワード

$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
   {
       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,5100399,66,99)を交換した.
i=7 399と66はarray(6,3,23,1,5100,66399,99)を交換した.
i=6 100と66はarray(6,3,23,1,5,66100399,99)を交換した.
i=5変化なし
i=4変化なし
i=3 23と1はarray(6,3,1,23,5,66100399,99)を交換した.
i=23と1はarray(6,1,3,23,5,66100399,99)を交換した.
i=1 6と1はarray(1,6,3,23,5,66100399,99)を交換した.
       
j=1 i=8 399と99はarray(1,6,3,23,5,66100,99399)を交換した.
i=7 100と99はarray(1,6,3,23,5,66,99100399)を交換した.
i=6は変化しなかったarray(1,6,3,23,5,66,99100399);
i=5は変化しなかったarray(1,6,3,23,5,66,99100399);
i=4 23と5はarray(1,6,3,5,23,66,99100399)を交換した.
i=3変化なしarray(1,6,3,5,23,66,99100399);
i=26と3はarray(1,3,6,5,23,66,99100399)を交換した.
       
j=2 i=8はarray(1,3,6,5,23,66,99100399)に変化しなかった.
i=7はarray(1,3,6,5,23,66,99100399)に変化しなかった.
i=6はarray(1,3,6,5,23,66,99100399)に変化しなかった.
i=5変化なしarray(1,3,6,5,23,66,99100399);
i=4はarray(1,3,6,5,23,66,99100399)に変化しなかった.
i=3 6と5はarray(1,3,5,6,23,66,99100399)を交換した.
       
j=3 i=8はarray(1,3,5,6,23,66,99100399)に変化しなかった.
i=7はarray(1,3,5,6,23,66,99100399)に変化しなかった.
i=6はarray(1,3,5,6,23,66,99100399)に変化しなかった.
i=5はarray(1,3,5,6,23,66,99100399)に変化しなかった.
i=4はarray(1,3,5,6,23,66,99100399)に変化しなかった.
       
j=4 i=8はarray(1,3,5,6,23,66,99100399)に変化しなかった.
i=7はarray(1,3,5,6,23,66,99100399)に変化しなかった.
i=6はarray(1,3,5,6,23,66,99100399)に変化しなかった.
i=5はarray(1,3,5,6,23,66,99100399)に変化しなかった.
       
j=5 i=8はarray(1,3,5,6,23,66,99100399)に変化しなかった.
i=7はarray(1,3,5,6,23,66,99100399)に変化しなかった.
i=6はarray(1,3,5,6,23,66,99100399)に変化しなかった.
       
j=6 i=8はarray(1,3,5,6,23,66,99100399)に変化しなかった.
i=7はarray(1,3,5,6,23,66,99100399)に変化しなかった.
       
j=7 i=8はarray(1,3,5,6,23,66,99100399)に変化しなかった.
   */
   echo '
'; 
  
   print_r($popArr);
   echo microtime(true) - $start;
   die;