Blasensortierung in PHP

PHPz
Freigeben: 2024-08-29 13:10:27
Original
962 Leute haben es durchsucht

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 Probetests

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Logik hinter der Blasensortierung in PHP

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.

Wie funktioniert die Blasensortierung in PHP?

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.

Beispiele zur Implementierung der Blasensortierung in PHP

Im Folgenden finden Sie verschiedene Beispiele für die Implementierung von Bubble Sort in PHP:

Beispiel Nr. 1 – Verwendung einer for-Schleife

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]." ";
?>
Nach dem Login kopieren

Ausgabe:

Blasensortierung in PHP

Beispiel #2 – Verwendung der WHILE-Schleife

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

Ausgabe:

Blasensortierung in PHP

Beispiel #3 – Verwendung der DO WHILE-Schleife

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

Ausgabe:

Blasensortierung in PHP

Fazit

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!

Verwandte Etiketten:
php
Quelle:php
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!