Heim > Backend-Entwicklung > PHP-Tutorial > Anleitung zum Schreiben eines benutzerdefinierten Sortieralgorithmus für PHP-Arrays

Anleitung zum Schreiben eines benutzerdefinierten Sortieralgorithmus für PHP-Arrays

WBOY
Freigeben: 2024-04-27 18:12:01
Original
602 Leute haben es durchsucht

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.

PHP 数组自定义排序算法的编写指南

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;
            }
        }
    }
}
Nach dem Login kopieren

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;
    }
}
Nach dem Login kopieren

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;
    }
}
Nach dem Login kopieren

Praktischer Fall
Lassen Sie uns das folgende PHP-Array in aufsteigender Reihenfolge mithilfe des Blasensortierungsalgorithmus sortieren:

$arr = [5, 2, 8, 3, 1];
Nach dem Login kopieren

Rufen Sie die Blasensortierungsfunktion auf:

bubbleSort($arr);
Nach dem Login kopieren

Das sortierte Array:

[1, 2, 3, 5, 8]
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage