1.冒泡排序
function sort($array) {
$length=count($array);
for ($i=$length;$i>0;$i--){
$ swape=true;
for ($j=0;$j<$i-1;$j++){
if ($array[$j]>$array[$j+1]){
$ temp=$array[$j];
$array[$j]=$array[$j+1];
$array[$j+1]=$temp;
$swape=false;
{
if(!isset ($input))
{
return [];
}
do
{
$swapped = false;
for($i = 0, $count = size of($input) - 1; $i < $count; $i++)
{
if($input[$i + 1] < $input[$i])
list($input[$i + 1]、 $input[$i]) = [$input[$i], $input[$i + 1]];
$swapped = true;
}
}
}
while ($スワップ);
return $input;
}
$array = [51158,1856,8459,67957,59748,58213,90876,39621,66570,64204,79935,27892,47615,94706,34 201,74474,63968,4337 ,43688,42685,31577,5239,25385,56301,94083,23232,67025,44044,74813,34671,90235,65764,49709,12440,21165,20620,38265,12973,2 5236,93144,13720,4204,77026 ,42348,19756,97222,78828,73437,48208,69858,19713,29411,49809,66174,52526277,7515,7873,8350,28229,24105,76818,86897,18456, 29373,7853,24932,93070,4696 ,63015,9358,28302,3938,11754,33679,18492,91503,63395,12029,23954,27230,58336,16544,23606,61349,37348,78629,96145,57954,32 392,76201,54616,59992,5676 ,97799,47910,98758,75043,72849,6466,68831,2246,69091,22296,6506,93729,86968,39583,46186,96782,19074,46574,46704,99211,552 95,33963,77977,86805,72686 ];
$array = sort($array);
echo implode(',', $array);
3.计数排序
function sort($array, $min, $max)
{
$count = array();
for($i = $min; $i <= $max; $i++)
{
$count[$i] = 0;
}
foreach($array as $number)
{
$count[$number]++;
}
$ z = 0;
for($i = $min; $i <= $max; $i++) {
while( $count[$i]-- > 0 ) {
$array[$z++ ] = $i;
}
}
return $array;
}
4.插入排序
function sort($array){
for ($i=1;$i $currentVal=$array[$i]; for ($j=$i-1;$j>=0&&$array[$j]>gt;$currentVal;$j- - ){ $ array [$ j+1] = $ array [$ j]; } $ array [$ j+1] = $ currentVal; 5.快速排序 function sort($input) { if(!isset($input)) { return []; } $lt = []; $gt = []; if(sizeof($input) < 2) { return $input; } $key = key($input); $シフト = 配列シフト($input); foreach($input as $value) { $value <= $shift ? $lt[] = $value : $gt[] = $value; } return array_merge(quickSort($lt), [$key => $shift], QuickSort($gt)); } $配列 = [51158,1856,8459,67957,59748,58213,90876,39621,66570,64204,79935,27892,47615,94706,34201,74474,63968,4337,43688, 42685,31577,5239,25385 ,56301,94083,23232,67025,44044,74813,34671,90235,65764,49709,12440,21165,20620,38265,12973,25236,93144,13720,4204,77026,4 2348,19756,97222,78828,73437 ,48208,69858,19713,29411,49809,3015,9358,28302,3938,11754,33679,18492,91503,63395,12029,23954,27230,58336,16544,23606,613 49,37348,78629,96145,57954 ,32392,76201,54616,59992,5676,97799,47910,98758,75043,72849,6466,68831,2246,69091,22296,6506,93729,86968,39583,46186,9678 2,19074,46574,46704,99211 ,55295,33963,77977,86805,72686]; $array = QuickSort($array); echo implode(',', $array); 6.选择排序 function sort($array) { $length=count($array); for ($i=0;$i<$length;$i++){ $lowest=$i; for ($j=$i+1) ;$j<$length;$j++){ if ($array[$j] < $array[$lowest]){ $lowest=$j; } } if ($ i !==$lowest){ $temp=$array[$i]; $array[$i]=$array[$lowest]; $array[$lowest]=$temp; } } return $array; } ———————————————— 版权通知:本文はCSDN博主「m0_37540251」の原文、準拠CC 4.0 BY-SA バージョンのダウンロード、添付の原文出力および本書のリンク。 以上がPHPアルゴリズムソート事典、面接必読のアルゴリズムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。