Heim  >  Artikel  >  Backend-Entwicklung  >  Lassen Sie uns über häufig verwendete Sortiermethoden (Algorithmen) in PHP sprechen

Lassen Sie uns über häufig verwendete Sortiermethoden (Algorithmen) in PHP sprechen

PHPz
PHPzOriginal
2023-03-24 15:22:111470Durchsuche

PHP ist als wichtige Programmiersprache in vielerlei Hinsicht tatsächlich leistungsstark. In der Datenverarbeitung sind Sortieralgorithmen der häufigste und wichtigste Teil. PHP bietet eine Vielzahl von Sortieralgorithmen. Im Folgenden finden Sie eine detaillierte Einführung in die häufig verwendeten Sortiermethoden in PHP.

  1. Bubble Sort

Bubble Sort ist einer der klassischsten Sortieralgorithmen in PHP. Dieser Algorithmus schließt die Sortierung ab, indem er die Größen zweier benachbarter Elemente durchläuft und vergleicht und dann die Reihenfolge kontinuierlich austauscht. Diese Methode kann mithilfe einer for-Schleife oder einer while-Schleife implementiert werden.

<?php
function bubble_sort($arr){
    $length = count($arr);
    for($i=0;$i<$length;$i++){
        for($j=$i+1;$j<$length;$j++){
            if($arr[$i]>$arr[$j]){
                $tmp = $arr[$i];
                $arr[$i] = $arr[$j];
                $arr[$j] = $tmp;
            }
        }
    }
    return $arr;
}
  1. Quick Sort

Quick Sort ist einer der schnellsten Sortieralgorithmen in PHP. Der Algorithmus verwendet eine rekursive Methode, um das Array in zwei Teile aufzuteilen, wobei jeweils ein Pivotelement verwendet wird, um das Array in kleinere und größere Unterarrays aufzuteilen. Anschließend werden die Unterarrays kontinuierlich rekursiv sortiert und schließlich das sortierte Array erhalten.

Es gibt viele Möglichkeiten, eine schnelle Sortierung in PHP zu implementieren, beispielsweise rekursive und nicht rekursive Methoden.

<?php
function quick_sort($arr){
    $length = count($arr);
    if($length<=1){
        return $arr;
    }
    $left_array = array();
    $right_array = array();
    $middle = $arr[0];
    for($i=1;$i<$length;$i++){
        if($arr[$i]<$middle){
            $left_array[] = $arr[$i];
        }else{
            $right_array[] = $arr[$i];
        }
    }
    $left_array = quick_sort($left_array);
    $right_array = quick_sort($right_array);
    return array_merge($left_array, array($middle), $right_array);
}
  1. Selection sort

Selection sort ist ein weiterer klassischer Sortieralgorithmus in PHP. Dieser Algorithmus funktioniert, indem er das kleinste Element in einem Array findet, es am Anfang des Arrays platziert und dann dasselbe für die übrigen Elemente durchführt. Die zeitliche Komplexität dieses Algorithmus beträgt O(n²).

<?php
function select_sort($arr){
    $length = count($arr);
    for($i=0;$i<$length;$i++){
        $min = $i;
        for($j=$i+1;$j<$length;$j++){
            if($arr[$j]<$arr[$min]){
                $min = $j;
            }
        }
        if($min!=$i){
            $tmp = $arr[$i];
            $arr[$i] = $arr[$min];
            $arr[$min] = $tmp;
        }
    }
    return $arr;
}
  1. Einfügungssortierung

Einfügungssortierung ist ein weiterer einfacher Sortieralgorithmus in PHP. Dieser Algorithmus vergleicht die Größe und Position des aktuellen Elements mit dem zuvor sortierten Element und fügt das Element dann an der entsprechenden Position ein. Die zeitliche Komplexität dieses Algorithmus beträgt O(n²).

<?php
function insert_sort($arr){
    $length = count($arr);
    for($i=1;$i<$length;$i++){
        $tmp = $arr[$i];
        $j = $i-1;
        while($j>=0 && $arr[$j]>$tmp){
            $arr[$j+1] = $arr[$j];
            $j--;
        }
        $arr[$j+1] = $tmp;
    }
    return $arr;
}

Zusammenfassung:

Die oben genannten vier Sortiermethoden sind allesamt gängige Sortieralgorithmen in PHP. In praktischen Anwendungen werden Auswahlsortierung und Einfügungssortierung im Allgemeinen zum Sortieren kleiner Datenmengen verwendet, Blasensortierung wird häufiger verwendet, wenn die Datengröße klein ist, und Schnellsortierung ist der am häufigsten verwendete Sortieralgorithmus, wenn die Datengröße groß ist. Entwickler können basierend auf der tatsächlichen Situation einen geeigneten Sortieralgorithmus auswählen.

Das obige ist der detaillierte Inhalt vonLassen Sie uns über häufig verwendete Sortiermethoden (Algorithmen) in PHP sprechen. 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