Heim  >  Artikel  >  tägliche Programmierung  >  Wie wird der PHP-Bubble-Sort-Algorithmus implementiert? (Bilder + Videos)

Wie wird der PHP-Bubble-Sort-Algorithmus implementiert? (Bilder + Videos)

藏色散人
藏色散人Original
2018-10-08 09:26:239200Durchsuche

Dieser Artikel gibt Ihnen eine detaillierte Einführung in die spezifischen Implementierungsprinzipien und -methoden des PHP-Blasensortierungsalgorithmus.

Für PHP-Programmierer ist die Beherrschung von Algorithmen und Datenstrukturen ein sehr wichtiger Fähigkeitsfaktor bei der Projektentwicklung. Daher kann man auch sagen, dass die PHP-Blasensortierung eine notwendige Sortieralgorithmus-Fähigkeit für PHP-Entwickler ist.

Egal wie schwierig der Algorithmus auch ist, er wird sehr einfach, solange Sie sein Prinzip verstehen.

Zunächst muss jeder verstehen, was Blasensortierung ist.

Zum Beispiel haben wir vielleicht das Phänomen des sprudelnden Quellwassers online oder im wirklichen Leben gesehen und können feststellen, dass die Blasen von klein nach groß aufsteigen. Dann gibt es im Algorithmus auch eine aufsteigende oder absteigende Reihenfolge. Aufsteigende Reihenfolge bezieht sich auf die Anordnung von klein nach groß, genau wie beim Blasenphänomen.

Das Prinzip der Blasensortierung ist sehr einfach zu verstehen:

Vergleichen Sie alle benachbarten Daten in einem Datensatz, verschieben Sie die Daten mit kleineren Werten nach vorne und verschieben Sie die Daten mit größere Werte nach vorne. Die Daten stehen hinten.

Nachfolgend geben wir Ihnen eine detaillierte Einführung mit konkreten Bubble-Sortiercodes-Beispielen.

<?php
$arr = [6, 2, 4, 8, 5, 9];
function maopao($arr)
{
    $len = count($arr);
    $n = count($arr) - 1;
    for ($i = 0; $i < $len; $i++) {
        for ($j = 0; $j < $n; $j++) {
            if ($arr[$j] > $arr[$j + 1]) {
                $tmp = $arr[$j];
                $arr[$j] = $arr[$j + 1];
                $arr[$j + 1] = $tmp;
            }
        }
    }
    return $arr;
}
var_dump(maopao($arr));

Wie im obigen Code gezeigt, müssen wir das $arr-Array nach Blasen sortieren. Das heißt, die Array-Elemente sollten in der Reihenfolge von klein nach groß angeordnet sein.

Hier müssen wir die for-Schleife zweimal verwenden. Die erste for-Schleife wird verwendet, um die Anzahl der Datenvergleichsrunden zu steuern, und dann wird die zweite for-Schleife verwendet, um die Anzahl zu steuern und die Position des Größenaustauschs zu bestimmen. Dann besteht die Idee der Beurteilung der if-Anweisung hier darin, dass, wenn der aktuelle Wert größer als der nachfolgende Wert ist, die Positionen vertauscht werden und der größere Wert an die temporäre Variable $tmp übergeben wird. Der nachfolgende kleine Wert ersetzt den großen Wert und der große Wert ersetzt den kleinen Wert.

Schließlich rufen wir die Maopao-Methode im obigen Code auf und das Ergebnis ist wie folgt:

Wie wird der PHP-Bubble-Sort-Algorithmus implementiert? (Bilder + Videos)

Aus der Abbildung ist deutlich ersichtlich, dass die Die Daten werden alle in der größten Reihenfolge neu angeordnet.

Wenn einige Freunde die PHP-Blasensortierung nicht besonders verstehen, können Sie sie auch im Code über xdebug debuggen. Wie unten gezeigt:

Wie wird der PHP-Bubble-Sort-Algorithmus implementiert? (Bilder + Videos)

Dann wurden Ihnen die Konfiguration und Verwendung von xdebug in früheren Artikeln vorgestellt. Freunde in Not können sich auf [So konfigurieren Sie xdebug in] beziehen PHPStorm Tools und verwenden Sie ].

Das Obige ist eine detaillierte Einführung in die PHP-Blasensortierung. Wenn Sie mehr über PHP erfahren möchten, können Sie der chinesischen PHP-Website PHP-Video-Tutorial folgen.

Das obige ist der detaillierte Inhalt vonWie wird der PHP-Bubble-Sort-Algorithmus implementiert? (Bilder + Videos). 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