Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie verschiedene Sortieralgorithmen mit PHP

So implementieren Sie verschiedene Sortieralgorithmen mit PHP

墨辰丷
墨辰丷Original
2018-05-15 16:32:43949Durchsuche

In diesem Artikel wird hauptsächlich die Verwendung von PHP zum Implementieren verschiedener Sortieralgorithmen vorgestellt, z. B. Blasensortierung, Austauschsortierung, Auswahlsortierung, Einfügungssortierung und Schnellsortierung. Sie können je nach tatsächlicher Situation verschiedene Sortieralgorithmen auswählen. Auch Effizienz macht einen Unterschied. Wichtig ist, zunächst den Algorithmus zu verstehen, dann wird die Umsetzung selbstverständlich sein. Interessierte Freunde können darauf verweisen, ich hoffe, es wird für alle hilfreich sein.

Blasensortierung:

<?php
    function BubbleSort($arr){
    $num = count($arr);
    for($i=1;$i<$num;$i++){
    for($j=$num-1;$j>=$i;$j--){
    if($arr[$j]<$arr[$j-1]){
    $iTemp = $arr[$j-1];
    $arr[$j-1] = $arr[$j];
    $arr[$j] = $iTemp;
    }
    }
    }
    return $arr;
    }
    ?>

Austauschsortierung:

<?php
    function ExchangeSort($arr){
    $num = count($arr);
    for($i=0;$i<$num-1;$i++){
    for($j=$i+1;$j<$num;$j++){
    if($arr[$j]<$arr[$i]){
    $iTemp = $arr[$i];
    $arr[$i] = $arr[$j];
    $arr[$j] = $iTemp;
    }
    }
    }
    return $arr;
    }
    ?>

Auswahlsortierung:

<?php
    function SelectSort($arr){
    $num = count($arr);
    for($i=0;$i<$num-1;$i++){
    $iTemp = $arr[$i];
    $iPos = $i;
    for($j=$i+1;$j<$num;$j++){
    if($arr[$j]<$iTemp){
    $iTemp = $arr[$j];
    $iPos = $j;
    }
    }
    $arr[$iPos] = $arr[$i];
    $arr[$i] = $iTemp;
    }
    return $arr;
    }
    ?>

Einfügungssortierung:

<?php
    function InsertSort($arr){
    $num = count($arr);
    for($i=1;$i<$num;$i++){
    $iTemp = $arr[$i];
    $iPos = $i-1;
    while(($iPos>=0) && ($iTemp<$arr[$iPos])){
    $arr[$iPos+1] = $arr[$iPos];
    $iPos--;
    }
    $arr[$iPos+1] = $iTemp;
    }
    return $arr;
    }
    ?>

Schnellsortierung:

<?php
    function QuickSort($arr){
    $num = count($arr);
    $l=$r=0;
    for($i=1;$i<$num;$i++){
    if($arr[$i] < $arr[0]){
    $left[] = $arr[$i];
    $l++;
    }else{
    $right[] = $arr[$i];
    $r++;
    }
    }
    if($l > 1){
    $left = QuickSort($left);
    }
    $new_arr = $left;
    $new_arr[] = $arr[0];
    if($r > 1){
    $right = QuickSort($right);
    }
    for($i=0;$i<$r;$i++){
    $new_arr[] = $right[$i];
    }
    return $new_arr;
    }
    $arr = array(7,1,6,5,2);
    $arr_new = QuickSort($arr);
    ?>

Verwandte Empfehlungen:

Beispiel für einen in Python implementierten Direkteinfügungs-Sortieralgorithmus

Sechs häufig verwendete JS-Sortieralgorithmen und Vergleich

PHP-Vier-Sortieralgorithmus-Implementierung und Effizienzanalyse [Blasensortierung, Einfügungssortierung, Auswahlsortierung und Schnellsortierung]

Das obige ist der detaillierte Inhalt vonSo implementieren Sie verschiedene Sortieralgorithmen mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP-Json-AnalyseNächster Artikel:PHP-Json-Analyse