Bubble Sort in PHP ist eine Art einfache Sortiertechnik/einen einfachen Sortieralgorithmus, der wiederholte Schritte zum Vergleichen jedes Paares benachbarter Elemente und zum Vertauschen dieser Elemente nur dann vorsieht, wenn sie in der falschen Reihenfolge vorliegen, da dies nicht erforderlich ist. Diese Sortierung wird auch als sinkende Sortierung bezeichnet. Die Übergabe der Elemente wird wiederholt, bis kein Austausch mehr erforderlich/benötigt ist, was bedeutet, dass die Liste jetzt sortiert ist. Diese Sortiertechnik/dieser Sortieralgorithmus ist eine Vergleichssortierung mit den kleineren Elementen/Zahlen, die „Blase/Blasen“ genannt werden.
WERBUNG Beliebter Kurs in dieser Kategorie PHP-ENTWICKLER - Spezialisierung | 8-Kurs-Reihe | 3 ProbetestsStarten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Bei der Blasensortierung werden benachbarte Elemente nur dann wiederholt ausgetauscht, wenn die Elemente in der falschen Reihenfolge sind. Bubble Sort vergleicht zunächst das zweite Element mit dem ersten Element. Wenn der erste Element-/Indexwert größer als der zweite ist, werden die Elemente ausgetauscht. Andernfalls erfolgt kein Austausch. Wenn das erste Element des Arrays größer als das zweite ist, werden die Elemente ausgetauscht. Nun wird aus dem 1.. Element das 2.. Element und umgekehrt. Nun wird das vertauschte Element erneut mit dem 3rd Element usw. verglichen und wenn die Bedingung erfüllt ist, wird der Austausch immer bis zum Ende der Array-Elemente durchgeführt. Nun tritt das obige Szenario auf, indem die Schleife als Länge des Arrays/Größe des Arrays ausgeführt wird, die innerhalb des Programms übergeben wird.
Es gibt verschiedene Arten von Implementierungen der Bubble-Sort-Techniken in der Programmiersprache PHP. Eine davon ist die Verwendung der FOR-Schleife, die zweite die Verwendung der WHILE-Schleife und die dritte die Verwendung der DO-While-Schleife. In jedem Programm wird die Logik gleich sein, aber die Syntax wird ein wenig anders sein.
Im Folgenden finden Sie verschiedene Beispiele für die Implementierung von Bubble Sort in PHP:
Im folgenden Beispiel wird die Blasensortierung mithilfe der FOR LOOP-Methode implementiert. Zuerst wird die Größe des Arrays berechnet und gespeichert, dann wird eine Schleife gestartet und dann erneut eine Schleife innerhalb der Schleife gestartet. Dann werden die benachbarten Array-Werte verglichen. Wenn der Array-Index mit dem Wert 0 größer ist als der Array-Index mit dem Wert 1, wird 1 Indexwert im Indexwert 0 gespeichert. Der Indexwert 0 wird als Indexwert 1 gespeichert. Dann wird das Array mit einigen Elementen innerhalb der Funktion selbst erwähnt und erneut eine FOR-Schleife erstellt, um die sortierten Array-Werte aufzurufen. Auf diese Weise erhalten wir die sortierten Elemente des Arrays.
Code:
<?php function bubbleSort1(&$arr1) { $n1 = sizeof($arr1); for($i1 = 0; $i1 < $n1; $i1++) { for ($j1 = 0; $j1 < $n1 - $i1 - 1; $j1++) { if ($arr1[$j1] > $arr1[$j1+1]) { $t1 = $arr1[$j1]; $arr1[$j1] = $arr1[$j1+1]; $arr1[$j1+1] = $t1; } } } } $arr1 = array(64, 32, 34, 26, 25, 43, 12, 68, 22, 90, 11); $len1 = sizeof($arr1); bubbleSort1($arr1); echo "Sorted array : \n"; for ($i1 = 0; $i1 < $len1; $i1++) echo $arr1[$i1]." "; ?>
Ausgabe:
Im folgenden Beispiel wird eine Array-Variable erstellt und für die Elemente aufgelistet. Anschließend wird die Größe berechnet und in $len12 gespeichert. Anschließend wird zunächst eine Schleife erstellt, um die tatsächlich im Array vorhandenen Elemente anzuzeigen, indem die Länge des Arrays als Schleifenbedingung verwendet wird. Anschließend wird eine Variable zum Speichern der sortierten Array-Elemente erstellt, indem die Funktion innerhalb der Variablen aufgerufen wird. Dann wird eine normale Funktion erstellt. Innerhalb der Funktion wird WHILE LOOP verwendet, um die Blasensortierung in PHP durch Vertauschen der angrenzenden Elemente zu implementieren. Hier wird jedoch nur dann ausgetauscht, wenn das 2nd Element des Arrays kleiner als das 1st Element ist.
Code:
<?php $arr2 = array(7, 22, 33, 99, 6, 55, 11, 2, 3, 88, 4); echo "Original Array Elements :: "; echo "<br>"; $len12 = sizeof($arr2); for ($z1 = 0; $z1 < $len12; $z1++) echo $arr2[$z1]." "; echo "<hr>"; echo "<br>Sorted array with index values :: \n<br>"; $sortedArr2 = bubbleSort($arr2); var_dump($sortedArr2); echo "<hr>"; function bubbleSort(array $arr2) { $sorted2 = false; while (false === $sorted2) { $sorted2 = true; for ($i2 = 0; $i2 < count($arr2)-1; ++$i2) { $current2 = $arr2[$i2]; $next2 = $arr2[$i2+1]; if ($next2 < $current2) { $arr2[$i2] = $next2; $arr2[$i2+1] = $current2; $sorted2 = false; } } } return $arr2; } echo "<br> Sorted Array Elements List :: "; $len12 = sizeof($sortedArr2); for ($z1 = 0; $z1 < $len12; $z1++) echo $sortedArr2[$z1]." "; echo "<br>"; echo "<hr>"; ?>
Ausgabe:
Im folgenden Programm wird eine Funktion erstellt und außerdem eine DO WHILE-Schleife implementiert, um die Bubble-Sort-Technik zu implementieren. Hier wurde zunächst eine Variable mit einem falschen Wert erstellt. Anschließend wird eine FOR-Schleife erstellt, um die Array-Elemente auszuführen. Innerhalb der Schleife wird eine IF-Bedingung erstellt, um zu prüfen, ob array1[0] größer als der Wert von array1[1] ist. Wenn ja, werden die Werte des Index vertauscht. Anschließend wird der getauschte Wert in der while-Bedingung überprüft und die DO WHILE-Schleife erneut ausgeführt. Ebenso wird der Prozess fortgesetzt und die Array-Elemente mithilfe der Blasensortiertechnik sortiert gedruckt.
Code:
<?php function bubble_Sort1($my_array1 ) { do { $swapped1 = false; for( $i1 = 0, $c1 = count( $my_array1 ) - 1; $i1 < $c1; $i1++ ) { if( $my_array1[$i1] > $my_array1[$i1 + 1] ) { list( $my_array1[$i1 + 1], $my_array1[$i1] ) = array( $my_array1[$i1], $my_array1[$i1 + 1] ); $swapped1 = true; } } } while( $swapped1 ); return $my_array1; } $test_array1 = array(3, 21, 0, -6, 2, 45, 5, 4, -1, 8, 4, 23, 1); echo "Original Array as mentioned in the Program :\n"; echo implode(', ',$test_array1 ); echo "<br>"; echo "\nSorted Array of the above list\n:"; echo implode(', ',bubble_Sort1($test_array1)). PHP_EOL; echo "<br>"; ?>
Ausgabe:
Ich hoffe, Sie haben gelernt, was die Definition der Blasensortierung in PHP ist, die Logik hinter der Blasensortierung in PHP und wie Sie die Blasensortierung in PHP mithilfe der verschiedenen Methoden implementieren.
Das obige ist der detaillierte Inhalt vonBlasensortierung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!