Heim >Backend-Entwicklung >PHP-Problem >PHP-Algorithmus-Sortier-Enzyklopädie, ein unverzichtbarer Algorithmus für Interviews
1.冒泡排序
Funktion sort($array) {
$length=count($array);
für ($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 ($swape)break;
}
return $array;
}
2.气泡排序
function. sort($input)
{
if(!isset ($input))
{
return [];
}
do
{
$swapped = false;
for($i = 0, $count = sizeof($input) - 1; $i < $count; $i++)
{
if($input[$i + 1] < $input[$i])
{
1], $input[$i]) = [$input[$i], $input[$i + 1]];
while($swapped);
$input zurückgeben;
}
$array = [51158,1856,8459,67957,59748,58213,90876,39621,66570,64204,79935,27892,47615,94706,3 4201,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 ,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,3 2392,76201,54616,59992,5676 ,97799,47910,98758,75043,72849,6466,68831,2246,69091,22296,6506,93729,86968,39583,46186,96782,19074,46574,46704,99211,55 295,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< count($ array);$i++){
$currentVal=$array[$i];
for ($j=$i-1;$j>=0&&$array[$j]>$currentVal;$j- -){
$array[$j+1]=$array[$j];
}
$array[$j+1]=$currentVal;
}
return. $array;
}
5.快速排序
function sort($input)
{
if(!isset($input))
{
return [];
}
$lt = [];
🏜 = array_shift ($input); foreach($input as $value) { $value <= $shift ? $lt[] = $value : $gt[] = $value; } return array_merge(quickSort($lt), [$key => $shift], quickSort($gt));}$array = [51158,1856,8459,67957,59748,58213,90876,39621,66570,64204,79935,27892,47615,94706,34201,74474,63968,4337,4368 8,42685,31577,5239,25385 ,56301,94083,23232,67025,44044,74813,34671,90235,65764,49709,12440,21165,20620,38265,12973,25236,93144,13720,4204,77026, 42348,19756,97222,78828,73437 ,48208,69858,19713,29411,49809,3015,9358,28302,3938,11754,33679,18492,91503,63395,12029,23954,27230,58336,16544,23606,61 349,37348,78629,96145,57954 ,32392,76201,54616,59992,5676,97799,47910,98758,75043,72849,6466,68831,2246,69091,22296,6506,93729,86968,39583,46186,967 82,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.
}
———————————————原创文章,遵循CC 4.0 BY-SA 1836
Das obige ist der detaillierte Inhalt vonPHP-Algorithmus-Sortier-Enzyklopädie, ein unverzichtbarer Algorithmus für Interviews. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!