Encyclopédie de tri des algorithmes PHP, un algorithme incontournable pour les entretiens

移动用户-8334543
Libérer: 2022-06-17 14:57:57
original
201 Les gens l'ont consulté

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 ($swape)break;

    }

    return $array;

}

2.气泡排序

function sort($input)

{

    

    si(!isset ($input))

    {

        return [];

    }

    do

    {

        $swapped = false;

        for($i = 0, $count = de($entrée) - 1 ; $i &l; 1], $input[$i]) = [$input[$i], $input[$i + 1]];

                $swapped = true;

            }

        }

    }

 while ($ échangé);

   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; $je <= $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){

    pour ($i=1;$i

        $currentVal=$array[$i];

        pour ($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 = [];

    $gt = [];

    if(sizeof($input) < 2)

    {

        return $input;

    }

    $key = key($input);

    $shift = tableau_shift ($input);

    foreach($input as $value)

    {

        $value <= $shift ? $lt[] = $value : $gt[] = $value;

    }

    return array_merge(quickSort($lt), [$key => $shift], quickSort($gt));

}

$tableau = [51158,1856,8459,67957,59748,58213,90876,39621,66570,64204,79935,27892,47615,94706,34201,74474,63968,4337,43688, 42685,31577,5239,25385 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.选择排序

fonction sort ($array) {

    $length=count($array);

    pour ($i=0;$i<$length;$i++){

        $lowest=$i;

        pour ($j=$i+1 ;$j<$length;$j++){

           if ($array[$j] < $array[$lowest]){

                $lowest=$j;

            }

        }

        si ($ i !==$lowest){

            $temp=$array[$i];

            $array[$i]=$array[$lowest];

            $array[$lowest]=$temp;

}

    }

    return $array;

}

————————————————

版权声明:本文为CSDN博主「m0_37540251」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/m0_37540251/article/details/12520 1836

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
1
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal