{"id":3945,"date":"2025-03-12T19:57:08","date_gmt":"2025-03-12T18:57:08","guid":{"rendered":"https:\/\/maximini.eu\/work\/?p=3945"},"modified":"2025-03-13T14:16:15","modified_gmt":"2025-03-13T13:16:15","slug":"bubble-sort","status":"publish","type":"post","link":"https:\/\/maximini.eu\/work\/bubble-sort\/","title":{"rendered":"Bubble-Sort"},"content":{"rendered":"<p><a href=\"https:\/\/de.wikipedia.org\/wiki\/Bubblesort\">Bubble-Sort<\/a> ist ein Sortieralgorithmus, der eine Liste von Elementen sortiert, indem er benachbarte Elemente vergleicht und gegebenenfalls vertauscht.<\/p>\n<h2>Schrittfolge des Algorithmus&nbsp;<\/h2>\n<p>Der Algorithmus beginnt beim ersten Element eines unsortierten <a href=\"https:\/\/maximini.eu\/work\/array\/\">Arrays<\/a> und vergleicht die benachbarten Elemente von links nach rechts. Falls das linke Element gr\u00f6\u00dfer ist als das rechte werden beide vertauscht. Beim Tauschen wird das zu tauschende Element in der tempor\u00e4ren Hilfsvariable t zwischengespeichert. Die gr\u00f6\u00dferen Elemente steigen im Array auf wie Blasen (Bubbles).Der Algorithmus durchl\u00e4uft zwei verschachtelte Schleifen. Die erste <a href=\"https:\/\/de.wikipedia.org\/wiki\/For-Schleife\" target=\"_blank\" rel=\"noopener\">For-Schleife<\/a> mit der Z\u00e4hlvariable i iteriert \u00fcber die Zeilen des Arrays und l\u00e4uft bis zum letzten Element (n &#8211; 1). Die zweite For-Schleife mit der Z\u00e4hlvariablen j iteriert innerhalb jeder Zeile \u00fcber die Spalten. Nach n -1 Durchl\u00e4ufen sind alle Elemente im Array sortiert.<\/p>\n<pre><b>******** Pseudocode Bubble-Sort *********\r\n\r\nInput: unsorted array A\r\nOutput: sorted array A\r\n\r\nFor i = 1 to n-1 do             \/\/ \u00c4u\u00dfere Schleife\r\n  For j = 1 to n-i do           \/\/ Innere Schleife\r\n     if A[j-1]&gt; A[j] then\r\n           t = A[j]\r\n           A[j] = A[j-1]\r\n           A[j-1] = t\r\n     End if\r\n   End For\r\nEnd For\r\nreturn A\r\n<\/b><\/pre>\n<h2>Komplexit\u00e4t des Algorithmus (<strong>Laufzeitanalyse)<\/strong><\/h2>\n<h3><strong><span style=\"color: #99cc00;\">Best-Case: O(n<sup>2<\/sup>)<\/span><\/strong>, <strong><span style=\"color: #ff0000;\">Worst Case: O(n<sup>2<\/sup>)<\/span><\/strong>,<strong> <span style=\"color: #ff9900;\">Average Case: O(n<sup>2<\/sup>)<\/span><\/strong><\/h3>\n<p>Der Bubble-Sort-Algorithmus hat eine konstante Speicherplatzkomplexit\u00e4t O(1). Unabh\u00e4ngig davon, wie viele Elemente die Liste enth\u00e4lt, ben\u00f6tigt er immer eine konstante Menge an zus\u00e4tzlichem Speicher f\u00fcr die Schleifenvariablen und eine tempor\u00e4re Hilfsvariable. Seine Laufzeitkomplexit\u00e4t ist aber in allen drei F\u00e4llen quadratisch O(n\u00b2), da er n-mal die \u00e4u\u00dfere und n-mal die innere <a href=\"https:\/\/de.wikipedia.org\/wiki\/Schleife_(Programmierung)\" target=\"_blank\" rel=\"noopener\">Schleife<\/a> durchl\u00e4uft (n \u00b7 n = n\u00b2).<\/p>\n<hr>\n<h2>Beispiel: Bubble-Sort-Algorithmus im Array A<\/h2>\n<p>Der Algorithmus sortiert die sechs Zahlen des Arrays A [ 11, 13, 4, 17, 8, 2 ] in aufsteigender Reihenfolge.<\/p>\n<p><b>Initialisierung<br \/>\n<\/b>Array A [ 11, 13, 4, 17, 8, 2 ], Anzahl Elemente n = 6&nbsp;<br \/>\nZ\u00e4hlvariable i = 1<br \/>\nZ\u00e4hlvariable j = 1<br \/>\nHilfsvariable t = 0<\/p>\n<hr>\n<p><strong>Erster Durchlauf, i = 1, Array A [ <span style=\"color: #808080;\">11, 13, 4, 17, 8, 2 <\/span>]<\/strong><br \/>\nIm ersten Durchlauf wird die gr\u00f6\u00dfte Zahl 17 in f\u00fcnf Schritten (n &#8211; 1) ans Ende des Arrays gebubbelt. Der Algorithmus vergleicht f\u00fcnfmal das linke Element A [ j &#8211; 1] mit dem rechten Element A [ j ] und f\u00fchrt drei Vertauschungen durch.<\/p>\n<hr>\n<p><strong>erster Schritt <\/strong>(j = 1, t = 0)<br \/>\nArray A [<span style=\"color: #ff6600;\"><strong>11<\/strong><\/span>, <strong><span style=\"color: #99cc00;\">13<\/span><\/strong>, 4, 17, 8, 2 ]<br \/>\nVergleich A [ j &#8211; 1] = A[0] mit A[ j ] = A[1]: 11 &lt; 13, kein Tausch<\/p>\n<p><strong>zweiter Schritt <\/strong>(j = 2, t = 0)<br \/>\nArray A [<span style=\"color: #000000;\">11,<\/span> <span style=\"color: #ff6600;\"><strong>13<\/strong><\/span>, <strong><span style=\"color: #99cc00;\">4<\/span><\/strong>, 17, <span style=\"color: #000000;\">8, 2<\/span>]&nbsp;<br \/>\nVergleich A [ j &#8211; 1] = A[1] mit A[ j ] = A[2]:&nbsp; <span style=\"color: #ff6600;\"><strong>13<\/strong><\/span> <strong>&gt;<\/strong> <strong><span style=\"color: #99cc00;\">4<\/span><\/strong>, <strong>1. Tausch<\/strong><br \/>\nt = A[ j ] = A[2] = <span style=\"color: #000000;\">4<\/span><br \/>\n<span style=\"color: #000000;\">A[ j ] = A[ j &#8211; 1] = A[2 &#8211; 1] = A[1] = 13 = t<\/span><\/p>\n<p><strong>dritter Schritt <\/strong>(j = 3, t = 13)<br \/>\nArray A [<span style=\"color: #000000;\">11,<\/span> 4, <strong><span style=\"color: #ff6600;\">13<\/span><\/strong>, <strong><span style=\"color: #99cc00;\">17<\/span><\/strong>, <span style=\"color: #000000;\">8, 2<\/span>]&nbsp;&nbsp;<br \/>\nVergleich A [j -1] = A[2] mit A[j] = A[3]:&nbsp; <span style=\"color: #000000;\">13 &lt; 17<\/span>, kein Tausch<\/p>\n<p><strong>vierter Schritt<\/strong>(j = 4, t = 13)<br \/>\nArray A [<span style=\"color: #000000;\">11,<\/span> 4,<span style=\"color: #000000;\"> 13, <strong><span style=\"color: #ff6600;\">17<\/span><\/strong>, <strong><span style=\"color: #99cc00;\">8<\/span><\/strong>, 2<\/span>]&nbsp;&nbsp;<br \/>\nVergleich A [j -1] = A[3] mit A[j] = A[4]:&nbsp; <span style=\"color: #000000;\"><strong><span style=\"color: #ff6600;\">17<\/span><\/strong><\/span><strong> &gt;<\/strong> <span style=\"color: #000000;\"><strong><span style=\"color: #99cc00;\">8<\/span><\/strong><\/span>, <strong>2. Tausch<\/strong><br \/>\nt = A[j] = A[4] = <span style=\"color: #000000;\">8<\/span><br \/>\n<span style=\"color: #000000;\">A[j] = A[ j &#8211; 1] = A[4 &#8211; 1] = A[3] = 17 = t<\/span><\/p>\n<p><strong>f\u00fcnfter Schritt <\/strong>(j = 5, t = 17)<br \/>\nArray A [<span style=\"color: #000000;\">11,<\/span> 4,<span style=\"color: #000000;\"> 13, 8, <strong><span style=\"color: #ff6600;\">17<\/span><\/strong>,&nbsp;<strong><span style=\"color: #99cc00;\">2<\/span><\/strong><\/span>]&nbsp;&nbsp;<br \/>\nVergleich A [j -1] = A[4] mit A[j] = A[5]:&nbsp; <span style=\"color: #000000;\"><strong><span style=\"color: #ff6600;\">17<\/span><\/strong><\/span> <strong>&gt;<\/strong> <span style=\"color: #000000;\"><strong><span style=\"color: #99cc00;\">2<\/span><\/strong><\/span>, <strong>3. Tausch<\/strong><br \/>\nt = A[j] = A[5] = <span style=\"color: #000000;\">2<\/span><br \/>\n<span style=\"color: #000000;\">A[j] = A[j-1] = A[5 &#8211; 1] = A[4] = 17 = t<\/span><\/p>\n<hr>\n<p><strong>Zweiter Durchlauf, i = 2, Array A [ <span style=\"color: #808080;\">11, 4, 13, 8, 2, <\/span> 17 ]<br \/>\n<\/strong>Im zweiten Durchlauf wird die zweitgr\u00f6\u00dfte Zahl 13 in f\u00fcnf Schritten (n &#8211; 1) nach hinten gebubbelt. Der Algorithmus vergleicht f\u00fcnfmal das linke Element A [ j &#8211; 1] mit dem rechten Element A [ j ] aus und f\u00fchrt drei Vertauschung durch.<\/p>\n<hr>\n<p><strong>erster Schritt<\/strong> (j = 1, t = 17)<br \/>\nArray A [<strong><span style=\"color: #ff6600;\">11<\/span><\/strong>, <strong><span style=\"color: #99cc00;\">4<\/span><\/strong>, 13, 8, <span style=\"color: #000000;\">2, 17<\/span>]&nbsp;&nbsp;<br \/>\nVergleich A [j-1] = A[0] mit A[j] = A[1]:&nbsp; <strong><span style=\"color: #ff6600;\">11 <\/span>&gt;<\/strong> <strong><span style=\"color: #99cc00;\">4<\/span><\/strong>, <strong>4. Tausch<\/strong><br \/>\nt = A[j] = A[1] = 11<br \/>\nA[j] = A[j-1] = A[1 &#8211; 1] = A[0] = 11 = t<\/p>\n<p><strong>zweiter Schritt <\/strong>(j = 2, t = 11)<br \/>\nArray A [4, <strong><span style=\"color: #ff6600;\">11<\/span><\/strong>,&nbsp;<strong><span style=\"color: #99cc00;\">13<\/span><\/strong>, 8, <span style=\"color: #000000;\">2, 17<\/span>]&nbsp;<br \/>\nVergleich A [j -1] = A[1] mit A[j] = A[2]:&nbsp; 11 &lt; 13, kein Tausch<\/p>\n<p><strong>dritter Schritt <\/strong>(j = 3, t = 11)<br \/>\nArray A [4, <span style=\"color: #000000;\">11,&nbsp;<strong><span style=\"color: #ff6600;\">13<\/span><\/strong>,<\/span> <strong><span style=\"color: #99cc00;\">8<\/span><\/strong>, <span style=\"color: #000000;\">2, 17<\/span>]&nbsp;&nbsp;<br \/>\nVergleich A [j -1] = A[2] mit A[j] = A[3]:&nbsp; 13 <strong>&gt;<\/strong> 8, <strong>5. <\/strong><strong>Tausch<\/strong><br \/>\nt = A[j] = A[3] = 8<br \/>\nA[j] = A[j-1] = A[3 &#8211; 1] = A[2] = 13 = t<\/p>\n<p><strong>vierter Schritt<\/strong> (j = 4, t = 13)<br \/>\nArray A [4, <span style=\"color: #000000;\">11, 8, <strong><span style=\"color: #ff6600;\">13<\/span><\/strong>, <\/span><span style=\"color: #000000;\"><strong><span style=\"color: #99cc00;\">2<\/span><\/strong>, 17<\/span>]&nbsp;&nbsp;<br \/>\nVergleich A [j -1] = A[3] mit A[j] = A[4]:&nbsp; 13 <strong>&gt;<\/strong> 2, <strong>6. <\/strong><strong>Tausch<\/strong><br \/>\nt = A[j] = A[4] = 2<br \/>\nA[j] = A[j-1] = A[4 &#8211; 1] = A[3] = 13 = t<\/p>\n<p><strong>f\u00fcnfter Schritt <\/strong>(j = 5, t = 13)<br \/>\nArray A [4, <span style=\"color: #000000;\">11, 8, 2, <strong><span style=\"color: #ff6600;\">13<\/span><\/strong>, <\/span><strong><span style=\"color: #99cc00;\">17<\/span><\/strong>]&nbsp;&nbsp;<br \/>\nVergleich A [j -1] = A[4] mit A[j] = A[5]:&nbsp; 13 &lt; 17, kein Tausch<\/p>\n<hr>\n<p><strong>Dritter Durchlauf, i = 3, Array A [ <span style=\"color: #808080;\">4, 11, 8, 2,<\/span> 13, 17 ]<br \/>\n<\/strong>Im dritten Durchlauf wird die drittgr\u00f6\u00dfte Zahl 11 in f\u00fcnf Schritten (n &#8211; 1) nach hinten gebubbelt. Der Algorithmus f\u00fchrt f\u00fcnf Vergleiche zwischen linkem A [ j &#8211; 1] und rechtem Element A [ j ] ) sowie zwei Vertauschungen durch.<\/p>\n<hr>\n<p><strong>erster Schritt<\/strong> ( j = 1, t = 13)<br \/>\nArray A [<strong><span style=\"color: #ff6600;\">4<\/span><\/strong>, <span style=\"color: #000000;\"><strong><span style=\"color: #99cc00;\">11<\/span><\/strong>, 8, 2, 13, 17]&nbsp;<\/span><br \/>\nVergleich A [ j &#8211; 1] = A[0] mit A[ j ] = A[1]:&nbsp; 4 &lt; 11, kein Tausch<\/p>\n<p><strong>zweiter Schritt <\/strong>(j = 2, t = 13)<br \/>\nArray A [<span style=\"color: #000000;\">4, <strong><span style=\"color: #ff6600;\">11<\/span><\/strong>, <strong><span style=\"color: #99cc00;\">8<\/span><\/strong>, 2, 13, 17]&nbsp;<\/span><br \/>\nVergleich A [ j &#8211; 1] = A[1] mit A[ j ] = A[2]:&nbsp; <span style=\"color: #000000;\"><strong><span style=\"color: #ff6600;\">11 <\/span><\/strong><\/span><strong>&gt;<\/strong> <span style=\"color: #000000;\"><strong><span style=\"color: #99cc00;\">8<\/span><\/strong><\/span>, <strong>7. <\/strong><strong>Tausch<\/strong><br \/>\nt = A[ j ] = A[2] = 8<br \/>\nA[ j ] = A[ j &#8211; 1] = A[2 &#8211; 1] = A[1] = 11 = t<\/p>\n<p><strong>dritter Schritt<\/strong> ( j = 3, t = 11)<br \/>\nArray A [<span style=\"color: #000000;\">4, 8,<strong><span style=\"color: #ff6600;\"> 11<\/span><\/strong>, <strong><span style=\"color: #99cc00;\">2<\/span><\/strong>, 13, 17]&nbsp;<\/span><br \/>\nVergleich A [ j &#8211; 1] = A[2] mit A[ j ] = A[3]:&nbsp; <span style=\"color: #000000;\"><strong><span style=\"color: #ff6600;\">11 <\/span><\/strong><\/span><strong>&gt;<\/strong> <span style=\"color: #000000;\"><strong><span style=\"color: #99cc00;\">2<\/span><\/strong><\/span>, <strong>8. <\/strong><strong>Tausch<\/strong><br \/>\nt = A[ j ] = A[3] = 2<br \/>\nA[ j ] = A[ j &#8211; 1] = A[3 &#8211; 1] = A[2] = 11 = t<\/p>\n<p><strong>vierter Schritt <\/strong>(j = 4, t = 11)<br \/>\nArray A [<span style=\"color: #000000;\">4, 8, 11, <strong><span style=\"color: #ff6600;\">2<\/span><\/strong>, <strong><span style=\"color: #99cc00;\">13<\/span><\/strong>, 17]&nbsp;<\/span><br \/>\nVergleich A [ j &#8211; 1] = A[3] mit A[ j ] = A[4]:&nbsp; 2 &lt; 13, kein Tausch<\/p>\n<p><strong>f\u00fcnfter Schritt<\/strong> (j = 5, t = 11)<br \/>\nArray A [<span style=\"color: #000000;\">4, 8, 2, 11, <strong><span style=\"color: #ff6600;\">13<\/span><\/strong>, <strong><span style=\"color: #99cc00;\">17<\/span><\/strong>]&nbsp;<\/span><br \/>\nVergleich A [ j &#8211; 1] = A[4] mit A[ j ] = A[5]: 13 &lt; 17, kein Tausch<\/p>\n<hr>\n<p><strong>Vierter Durchlauf, i = 4, Array A [ <span style=\"color: #808080;\">4, 8, 2,<\/span> 11, 13, 17 ]<br \/>\n<\/strong>Im vierten Durchlauf wird die viertgr\u00f6\u00dfte Zahl 8 in f\u00fcnf Schritten (n &#8211; 1) nach hinten gebubbelt. Der Algorithmus f\u00fchrt wieder f\u00fcnf Vergleiche und zwei Vertauschungen durch.<\/p>\n<hr>\n<p><strong>erster Schritt <\/strong>( j = 1, t = 13)<br \/>\nArray A [<span style=\"color: #000000;\"><strong><span style=\"color: #ff6600;\">4<\/span><\/strong>, <strong><span style=\"color: #99cc00;\">8<\/span><\/strong>, 2, 11, 13, 17]&nbsp;<\/span><br \/>\nVergleich A [ j &#8211; 1] = A[0] mit A[ j ] = A[1]:&nbsp; 4 &lt; 8, kein Tausch<\/p>\n<p><strong>zweiter Schritt <\/strong>(j = 2, t = 13)<br \/>\nArray A [<span style=\"color: #000000;\">4, <span style=\"color: #ff6600;\"><strong>8<\/strong><\/span>, <span style=\"color: #99cc00;\"><strong>2<\/strong><\/span>, 11<\/span><span style=\"color: #000000;\">, 13, 17]&nbsp;<\/span><br \/>\nVergleich A [ j &#8211; 1] = A[1] mit A[ j ] = A[2]:&nbsp; <span style=\"color: #000000;\"><span style=\"color: #ff6600;\"><strong>8<\/strong><\/span><\/span>&nbsp;<strong>&gt;<\/strong> <span style=\"color: #000000;\"><span style=\"color: #99cc00;\"><strong>2<\/strong><\/span><\/span>, <strong>9. <\/strong><strong>Tausch<\/strong><br \/>\nt = A[ j ] = A[2] = 8<br \/>\nA[ j ] = A[ j &#8211; 1] = A[2 &#8211; 1] = A[1] = 11 = t<\/p>\n<p><strong>dritter Schritt<\/strong> ( j = 3, t = 11)<br \/>\nArray A [<span style=\"color: #000000;\">4, 8, <strong><span style=\"color: #ff6600;\">11<\/span><\/strong>,<\/span><b> <\/b><span style=\"color: #000000;\"><strong><span style=\"color: #99cc00;\">2<\/span><\/strong>, 13, 17]&nbsp;<\/span><br \/>\nVergleich A [ j &#8211; 1] = A[2] mit A[ j ] = A[3]:&nbsp; <span style=\"color: #000000;\"><strong><span style=\"color: #ff6600;\">11<\/span><\/strong><\/span>&nbsp;<strong>&gt;<\/strong> <span style=\"color: #000000;\"><strong><span style=\"color: #99cc00;\">2<\/span><\/strong><\/span>, <strong>10. <\/strong><strong>Tausch<\/strong><br \/>\nt = A[ j ] = A[3] = 2<br \/>\nA[ j ] = A[ j &#8211; 1] = A[3 &#8211; 1] = A[2] = 11= t<\/p>\n<p><strong>vierter Schritt <\/strong>( j = 4, t = 11)<br \/>\nArray A [<span style=\"color: #000000;\">4, 8, 2, <strong><span style=\"color: #ff6600;\">11<\/span><\/strong>,<\/span><span style=\"color: #000000;\">&nbsp;<span style=\"color: #99cc00;\"><strong>13<\/strong><\/span>, 17]&nbsp;<\/span><br \/>\nVergleich A [ j &#8211; 1] = A[3] mit A[ j ] = A[4]:&nbsp; 11 &lt; 13, kein Tausch<\/p>\n<p><strong>f\u00fcnfter Schritt <\/strong>( j = 5, t = 11)<br \/>\nArray A [<span style=\"color: #000000;\">4, 8, 2, 11,<\/span><span style=\"color: #000000;\">&nbsp;<strong><span style=\"color: #ff6600;\">13<\/span><\/strong>, <strong><span style=\"color: #99cc00;\">17<\/span><\/strong>]&nbsp;<\/span><br \/>\nVergleich A [ j &#8211; 1] = A[4] mit A[ j ] = A[5]:&nbsp; 13 &lt; 17, kein Tausch<\/p>\n<hr>\n<p><strong>F\u00fcnfter Durchlauf, i = 4, Array A [ <span style=\"color: #808080;\">4, 2,<\/span> 8, 11, 13, 17 ]<br \/>\n<\/strong>Im letzten Durchlauf wird die f\u00fcnftgr\u00f6\u00dfte Zahl 4 in f\u00fcnf Schritten (n &#8211; 1) nach hinten gebubbelt. Der Algorithmus f\u00fchrt wieder f\u00fcnf Vergleiche und noch eine Vertauschung durch.<\/p>\n<hr>\n<p><strong>erster Schritt <\/strong>( j = 1, t = 11)<br \/>\nArray A [<span style=\"color: #000000;\"><strong><span style=\"color: #ff6600;\">4<\/span><\/strong>, <strong><span style=\"color: #99cc00;\">2<\/span><\/strong>, 8, 11, 13, 17]&nbsp;<\/span><br \/>\nVergleich A [ j &#8211; 1] = A[0] mit A[ j ] = A[1]:&nbsp; <span style=\"color: #000000;\"><strong><span style=\"color: #ff6600;\">4<\/span><\/strong><\/span>&nbsp;<strong>&gt;<\/strong> <span style=\"color: #000000;\"><strong><span style=\"color: #99cc00;\">2<\/span><\/strong><\/span> , <strong>11. <\/strong><strong>Tausch<br \/>\n<\/strong>t = A[ j ] = A[1] = 2<br \/>\nA[ j ] = A[ j &#8211; 1] = A[1 &#8211; 1] = A[0] = 4 = t<\/p>\n<p><strong>zweiter Schritt <\/strong>( j = 2, t = 4)<br \/>\nArray A [2, <strong><span style=\"color: #ff6600;\">4<\/span><\/strong><span style=\"color: #000000;\">, <strong><span style=\"color: #99cc00;\">8<\/span><\/strong>, 11, 13, 17]&nbsp;<\/span><br \/>\nVergleich A [ j &#8211; 1] = A[1] mit A[ j ] = A[2]:&nbsp; 4 &lt; 8, kein Tausch<strong><br \/>\n<\/strong><\/p>\n<p><strong>dritter Schritt <\/strong>( j = 3, t = 4)<br \/>\nArray A [2, <span style=\"color: #000000;\">4, <span style=\"color: #ff6600;\"><strong>8<\/strong><\/span>, <span style=\"color: #99cc00;\"><strong>11<\/strong><\/span>, 13, 17]&nbsp;<\/span><br \/>\nVergleich A [ j &#8211; 1] = A[2] mit A[ j ] = A[3]:&nbsp; 8 &lt; 11, kein Tausch<\/p>\n<p><strong>vierter Schritt <\/strong>( j = 4, t = 4)<br \/>\nArray A [2, <span style=\"color: #000000;\">4, 8, <span style=\"color: #ff6600;\"><strong>11<\/strong><\/span>, <span style=\"color: #99cc00;\"><strong>13<\/strong><\/span>, 17]&nbsp;<\/span><br \/>\nVergleich A [ j &#8211; 1] = A[3] mit A[ j ] = A[4]:&nbsp; 11 &lt; 13, kein Tausch<\/p>\n<p><strong>f\u00fcnfter Schritt <\/strong>( j = 5, t = 4)<br \/>\nArray A [2, <span style=\"color: #000000;\">4, 8, 11, <span style=\"color: #ff6600;\"><strong>13<\/strong><\/span>, <strong><span style=\"color: #99cc00;\">17<\/span><\/strong>]&nbsp;<\/span><br \/>\nVergleich A [ j &#8211; 1] = A[4] mit A[ j ] = A[5]:&nbsp; 13 &lt; 17, kein Tausch<\/p>\n<hr>\n<p><strong>Output&nbsp; Array A &nbsp;[ 2, 4, 8, 11, 13, 17 ]<\/strong><\/p>\n<p>Der Algorithmus terminiert nach 5 (n &#8211; 1) Durchl\u00e4ufen und gibt das sortierte Array A [ 2, <span style=\"color: #000000;\">4, 8, 11, 13, 17 ]&nbsp; <\/span>aus. Insgesamt hat er \u00fcber alle Durchg\u00e4nge 25 Vergleiche und 11 Vertauschungen vorgenommen.<\/p>\n<pre><b>**** Pseudocode Bubble-Sort A [<span style=\"color: #000000;\">11, <strong>13<\/strong>, <strong>4<\/strong>,<\/span> 17, <span style=\"color: #000000;\">8, 2<\/span>] ****\r\n\r\ninput: A  [<span style=\"color: #000000;\">11, <strong>13<\/strong>, <strong>4<\/strong>,<\/span> 17, <span style=\"color: #000000;\">8, 2<\/span>] \r\ndef t = 0\r\nFor i = 1 to n-1 do           \/\/ \u00c4u\u00dfere Schleife\r\n<\/b><b>  For j = 1 to n-i do         \/\/ Innere Schleife \r\n    if A[j-1] &gt; A[j] then \r\n       t = A[j] \r\n       A[j] = A[j-1] \r\n       A[j-1] = t \r\n    End if \r\n  End For \r\nEnd For \r\nreturn A<\/b><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Bubble-Sort ist ein Sortieralgorithmus, der eine Liste von Elementen sortiert, indem er benachbarte Elemente vergleicht und gegebenenfalls vertauscht. Schrittfolge des Algorithmus&nbsp; Der Algorithmus beginnt beim&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/maximini.eu\/work\/bubble-sort\/\">weiterlesen<span class=\"screen-reader-text\">Bubble-Sort<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":3972,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[94,35],"tags":[92,103,102],"class_list":["post-3945","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-algorithmen","category-informatik","tag-algorithmen","tag-bubblesort","tag-sortieralgorithmus","entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Bubble-Sort - Katja Maximini | work<\/title>\n<meta name=\"description\" content=\"BubbleSort ist ein Sortieralgorithmus, der ein Array sortiert, indem er benachbarte Elemente vergleicht und gegebenenfalls vertauscht.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/maximini.eu\/work\/bubble-sort\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bubble-Sort - Katja Maximini | work\" \/>\n<meta property=\"og:url\" content=\"https:\/\/maximini.eu\/work\/bubble-sort\/\" \/>\n<meta property=\"og:site_name\" content=\"Katja Maximini | work\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-12T18:57:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-13T13:16:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/maximini.eu\/work\/wp-content\/uploads\/sites\/4\/2025\/03\/Header_BubbleSort.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"872\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Katja Maximini\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Katja Maximini\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"9\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/bubble-sort\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/bubble-sort\\\/\"},\"author\":{\"name\":\"Katja Maximini\",\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/#\\\/schema\\\/person\\\/e5568f683596440f38d468287e995bd5\"},\"headline\":\"Bubble-Sort\",\"datePublished\":\"2025-03-12T18:57:08+00:00\",\"dateModified\":\"2025-03-13T13:16:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/bubble-sort\\\/\"},\"wordCount\":1133,\"publisher\":{\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/#\\\/schema\\\/person\\\/e5568f683596440f38d468287e995bd5\"},\"image\":{\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/bubble-sort\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/maximini.eu\\\/work\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2025\\\/03\\\/Header_BubbleSort.png\",\"keywords\":[\"Algorithmen\",\"BubbleSort\",\"Sortieralgorithmus\"],\"articleSection\":[\"Algorithmen\",\"Informatik\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/bubble-sort\\\/\",\"url\":\"https:\\\/\\\/maximini.eu\\\/work\\\/bubble-sort\\\/\",\"name\":\"Bubble-Sort - Katja Maximini | work\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/bubble-sort\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/bubble-sort\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/maximini.eu\\\/work\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2025\\\/03\\\/Header_BubbleSort.png\",\"datePublished\":\"2025-03-12T18:57:08+00:00\",\"dateModified\":\"2025-03-13T13:16:15+00:00\",\"description\":\"BubbleSort ist ein Sortieralgorithmus, der ein Array sortiert, indem er benachbarte Elemente vergleicht und gegebenenfalls vertauscht.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/bubble-sort\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/maximini.eu\\\/work\\\/bubble-sort\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/bubble-sort\\\/#primaryimage\",\"url\":\"https:\\\/\\\/maximini.eu\\\/work\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2025\\\/03\\\/Header_BubbleSort.png\",\"contentUrl\":\"https:\\\/\\\/maximini.eu\\\/work\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2025\\\/03\\\/Header_BubbleSort.png\",\"width\":1920,\"height\":872,\"caption\":\"Bubble-Sort-Algorithmus\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/bubble-sort\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/maximini.eu\\\/work\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bubble-Sort\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/#website\",\"url\":\"https:\\\/\\\/maximini.eu\\\/work\\\/\",\"name\":\"Katja Maximini | work\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/#\\\/schema\\\/person\\\/e5568f683596440f38d468287e995bd5\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/maximini.eu\\\/work\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/maximini.eu\\\/work\\\/#\\\/schema\\\/person\\\/e5568f683596440f38d468287e995bd5\",\"name\":\"Katja Maximini\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6b71fa48f76dd3fbb2952f49b5f639da2f333317ec371c541b72bdb7b3ebc4f8?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6b71fa48f76dd3fbb2952f49b5f639da2f333317ec371c541b72bdb7b3ebc4f8?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6b71fa48f76dd3fbb2952f49b5f639da2f333317ec371c541b72bdb7b3ebc4f8?s=96&r=g\",\"caption\":\"Katja Maximini\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6b71fa48f76dd3fbb2952f49b5f639da2f333317ec371c541b72bdb7b3ebc4f8?s=96&r=g\"},\"sameAs\":[\"https:\\\/\\\/www.maximini.eu\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/katja-maximini-68032566\\\/\"],\"url\":\"https:\\\/\\\/maximini.eu\\\/work\\\/author\\\/katja\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Bubble-Sort - Katja Maximini | work","description":"BubbleSort ist ein Sortieralgorithmus, der ein Array sortiert, indem er benachbarte Elemente vergleicht und gegebenenfalls vertauscht.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/maximini.eu\/work\/bubble-sort\/","og_locale":"de_DE","og_type":"article","og_title":"Bubble-Sort - Katja Maximini | work","og_url":"https:\/\/maximini.eu\/work\/bubble-sort\/","og_site_name":"Katja Maximini | work","article_published_time":"2025-03-12T18:57:08+00:00","article_modified_time":"2025-03-13T13:16:15+00:00","og_image":[{"width":1920,"height":872,"url":"https:\/\/maximini.eu\/work\/wp-content\/uploads\/sites\/4\/2025\/03\/Header_BubbleSort.png","type":"image\/png"}],"author":"Katja Maximini","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Katja Maximini","Gesch\u00e4tzte Lesezeit":"9\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/maximini.eu\/work\/bubble-sort\/#article","isPartOf":{"@id":"https:\/\/maximini.eu\/work\/bubble-sort\/"},"author":{"name":"Katja Maximini","@id":"https:\/\/maximini.eu\/work\/#\/schema\/person\/e5568f683596440f38d468287e995bd5"},"headline":"Bubble-Sort","datePublished":"2025-03-12T18:57:08+00:00","dateModified":"2025-03-13T13:16:15+00:00","mainEntityOfPage":{"@id":"https:\/\/maximini.eu\/work\/bubble-sort\/"},"wordCount":1133,"publisher":{"@id":"https:\/\/maximini.eu\/work\/#\/schema\/person\/e5568f683596440f38d468287e995bd5"},"image":{"@id":"https:\/\/maximini.eu\/work\/bubble-sort\/#primaryimage"},"thumbnailUrl":"https:\/\/maximini.eu\/work\/wp-content\/uploads\/sites\/4\/2025\/03\/Header_BubbleSort.png","keywords":["Algorithmen","BubbleSort","Sortieralgorithmus"],"articleSection":["Algorithmen","Informatik"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/maximini.eu\/work\/bubble-sort\/","url":"https:\/\/maximini.eu\/work\/bubble-sort\/","name":"Bubble-Sort - Katja Maximini | work","isPartOf":{"@id":"https:\/\/maximini.eu\/work\/#website"},"primaryImageOfPage":{"@id":"https:\/\/maximini.eu\/work\/bubble-sort\/#primaryimage"},"image":{"@id":"https:\/\/maximini.eu\/work\/bubble-sort\/#primaryimage"},"thumbnailUrl":"https:\/\/maximini.eu\/work\/wp-content\/uploads\/sites\/4\/2025\/03\/Header_BubbleSort.png","datePublished":"2025-03-12T18:57:08+00:00","dateModified":"2025-03-13T13:16:15+00:00","description":"BubbleSort ist ein Sortieralgorithmus, der ein Array sortiert, indem er benachbarte Elemente vergleicht und gegebenenfalls vertauscht.","breadcrumb":{"@id":"https:\/\/maximini.eu\/work\/bubble-sort\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/maximini.eu\/work\/bubble-sort\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/maximini.eu\/work\/bubble-sort\/#primaryimage","url":"https:\/\/maximini.eu\/work\/wp-content\/uploads\/sites\/4\/2025\/03\/Header_BubbleSort.png","contentUrl":"https:\/\/maximini.eu\/work\/wp-content\/uploads\/sites\/4\/2025\/03\/Header_BubbleSort.png","width":1920,"height":872,"caption":"Bubble-Sort-Algorithmus"},{"@type":"BreadcrumbList","@id":"https:\/\/maximini.eu\/work\/bubble-sort\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/maximini.eu\/work\/"},{"@type":"ListItem","position":2,"name":"Bubble-Sort"}]},{"@type":"WebSite","@id":"https:\/\/maximini.eu\/work\/#website","url":"https:\/\/maximini.eu\/work\/","name":"Katja Maximini | work","description":"","publisher":{"@id":"https:\/\/maximini.eu\/work\/#\/schema\/person\/e5568f683596440f38d468287e995bd5"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/maximini.eu\/work\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":["Person","Organization"],"@id":"https:\/\/maximini.eu\/work\/#\/schema\/person\/e5568f683596440f38d468287e995bd5","name":"Katja Maximini","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/6b71fa48f76dd3fbb2952f49b5f639da2f333317ec371c541b72bdb7b3ebc4f8?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/6b71fa48f76dd3fbb2952f49b5f639da2f333317ec371c541b72bdb7b3ebc4f8?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6b71fa48f76dd3fbb2952f49b5f639da2f333317ec371c541b72bdb7b3ebc4f8?s=96&r=g","caption":"Katja Maximini"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/6b71fa48f76dd3fbb2952f49b5f639da2f333317ec371c541b72bdb7b3ebc4f8?s=96&r=g"},"sameAs":["https:\/\/www.maximini.eu","https:\/\/www.linkedin.com\/in\/katja-maximini-68032566\/"],"url":"https:\/\/maximini.eu\/work\/author\/katja\/"}]}},"_links":{"self":[{"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/posts\/3945","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/comments?post=3945"}],"version-history":[{"count":21,"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/posts\/3945\/revisions"}],"predecessor-version":[{"id":3978,"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/posts\/3945\/revisions\/3978"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/media\/3972"}],"wp:attachment":[{"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/media?parent=3945"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/categories?post=3945"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/maximini.eu\/work\/wp-json\/wp\/v2\/tags?post=3945"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}