Wie schreibe ich einen benutzerdefinierten PHP-Array-Sortieralgorithmus? Blasensortierung: Sortiert ein Array durch Vergleichen und Austauschen benachbarter Elemente. Auswahlsortierung: Wählen Sie jedes Mal das kleinste oder größte Element aus und tauschen Sie es mit der aktuellen Position aus. Einfügungssortierung: Elemente nacheinander in einen geordneten Teil einfügen.
Anleitung zum Schreiben eines benutzerdefinierten Sortieralgorithmus für PHP-Arrays
Einführung
Array-Sortierung ist eine häufige Aufgabe in der Programmierung, die es uns ermöglicht, die Elemente in einem Array basierend auf bestimmten Kriterien neu zu organisieren. PHP bietet eine Vielzahl integrierter Sortieralgorithmen, aber manchmal müssen wir Arrays auf der Grundlage einer benutzerdefinierten Logik sortieren, was erfordert, dass wir unseren eigenen benutzerdefinierten Sortieralgorithmus schreiben.
Bubble Sort
Bubble Sort ist ein einfacher Sortieralgorithmus, der ein Array sortiert, indem er wiederholt benachbarte Elemente vergleicht und ihre Positionen austauscht.
function bubbleSort(array &$arr) { $n = count($arr); for ($i = 0; $i < $n - 1; $i++) { for ($j = 0; $j < $n - $i - 1; $j++) { if ($arr[$j] > $arr[$j + 1]) { $tmp = $arr[$j]; $arr[$j] = $arr[$j + 1]; $arr[$j + 1] = $tmp; } } } }
Auswahlsortierung
Auswahlsortierung ist ein Sortieralgorithmus, der auf der Auswahl des kleinsten oder größten Elements und dessen Austausch mit seiner aktuellen Position basiert.
function selectionSort(array &$arr) { $n = count($arr); for ($i = 0; $i < $n - 1; $i++) { $min_idx = $i; for ($j = $i + 1; $j < $n; $j++) { if ($arr[$j] < $arr[$min_idx]) { $min_idx = $j; } } $tmp = $arr[$i]; $arr[$i] = $arr[$min_idx]; $arr[$min_idx] = $tmp; } }
Einfügungssortierung
Einfügungssortierung ist ein Sortieralgorithmus, der auf dem Einfügen von Elementen nacheinander in einen geordneten Teil basiert.
function insertionSort(array &$arr) { $n = count($arr); for ($i = 1; $i < $n; $i++) { $key = $arr[$i]; $j = $i - 1; while ($j >= 0 && $arr[$j] > $key) { $arr[$j + 1] = $arr[$j]; $j--; } $arr[$j + 1] = $key; } }
Praktischer Fall
Lassen Sie uns das folgende PHP-Array in aufsteigender Reihenfolge mithilfe des Blasensortierungsalgorithmus sortieren:
$arr = [5, 2, 8, 3, 1];
Rufen Sie die Blasensortierungsfunktion auf:
bubbleSort($arr);
Das sortierte Array:
[1, 2, 3, 5, 8]
Das obige ist der detaillierte Inhalt vonAnleitung zum Schreiben eines benutzerdefinierten Sortieralgorithmus für PHP-Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!