PHPの基本的なソートアルゴリズム

1、バブルソート

1  $ ARR = 配列(12,34,57,42,165.4,73,51 )。
2  
3  機能 bubbling_sort($配列4  {
 5      $ COU = カウント$配列)。
6      もし(!IS_ARRAY$配列)){
 7          ダイ8      }
 9      ため$ I = 0; $ iは < $ COU -1; $ iは ++ ){
 10          用の$のJ = $ Iを+1; $ jの < $ COU$のJ ++ ){
 11              であれば$配列 [ $ I ]> $配列 [ $ J ]){
 12                  $ TMP = $配列 [ $のJ ]。
13                  $配列 [ $のJ ] = $配列 [ $ I ]。
14                  $配列 [ $ I ] = $ TMP 15              }
 16          }
 17      }
 18      リターン $配列19 }
 20  
21  $ AR = bubbling_sort($のARR )。
22  のvar_dump$のAR); 死にます ;

2、クイックソート

 

1  関数 quick_sork($配列2  {
 3      であればカウント$配列)<= 1)リターン $アレイ4      $キー = $配列 [0 ]。
5      $ left_arr = 配列();
6      $ right_arr = 配列();
7      のために$ I = 0; $ iが < カウント$配列); $ iは ++ ){
 8          であれば$配列[ $ I < $キー){
 9              $ left_arr [] = $配列 [ $ I ]。
10          } ELSEIF$配列 [ $ I ]> $キー){
 11              $ right_arr [] = $配列 [ $ I ]。
12          }
 13      }
 14      $ left_arr = quick_sork($のleft_arr )。
15      $ right_arr = quick_sork($のright_arr )。
16      リターン array_merge$ left_arr配列$キー)、$のright_arr )。
17 }

 

並べ替えを選択します

1  関数 select_sort($配列){
 2      の$ TEMP = 0 3      のために$ I = 0; $ iが < カウント$配列) - 1; $ iは ++ ){
 4          $ MINVAL = $配列 [ $ I ]。// 假设$ I就是最小值
5          $ minValIndex = $ I ;
6          $ J = $ I ; 1 $ jの < $配列); $ jの ++){
 7              IF$ MINVAL > $配列 [ $ J ]){ // 昇順
8。                 $ MINVAL = $配列 [ $ J ]; // 最小値を見つける
。9                  $ minValIndex = $ J ;
 10              }
 11          }
 12であります         TEMP $ = $配列 [ $ I ];
 13は         $配列 [ $ I ] = $配列 [ $ minValIndex ];
 14          $配列 [ $ minValIndex] = $の一時15      }
 16      リターン $配列17 }

 

おすすめ

転載: www.cnblogs.com/wawjandcsws/p/11076351.html