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 }