BubbleSort Code Verständnisfrage?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Das sind zwei ineinander verschachtelte Schleifen, b fängt immer wieder bei 0 an.

Im 4. Durchgang der äußeren Schleife (k=4) läuft b von 0 bis 2

Guterfrager21 
Fragesteller
 15.04.2023, 19:47

Stimmt, danke!

0

Das Element, das nach einer Iteration ganz links steht, ist das kleinste Element der zuletzt durchgeführten Operation. Das steigt, wie Blasen (Bubble) durch die Vergleiche in der Liste hervor bis zur Position ganz vorne.

Da du bereits weißt, dass in der restliste kein kleineres Element ist, brauchst du dieses Element folglich nicht mehr vergleichen und kannst die Zahl der Iterationen in der inneren Schleife entsprechend verringern.

Es schiebt sich ja in jedem Durchlauf der äußeren Schleife das größte Element an den rechten Rand. Wenn man k nicht abziehen würde, würde man immer wieder mit dem schon sortierten Teil der vorherigen Durchgänge vergleichen.