Bubblesort
Ein sehr elementares Sortierverfahren ist der Bubblesort. Die Implementierung ist einfach zu realisieren und gut nachvollziehbar. Nachteil ist die lange Programmlaufzeit durch viele Vertauschungsoperationen.

Ablauf:
Direkte Nachbarn im Gesamtfeld werden miteinander verglichen und miteinander vertauscht, wenn die Ordnungsrelation (> oder <) nicht erfüllt ist. Der Vorgang muss das gesamte Feld durchlaufen und so lange wiederholt werden, bis keine Vertauschungsoperationen mehr durchgeführt werden.
Implementieren Sie den Bubblesort in Matlab zum Sortieren eines Vektors. Orientieren Sie sich dabei an der Beschreibung und dem gegebenen Struktogramm.
- Sortieren Sie den Vektor, den Sie mit dem Befehl A = fix(100*rand(1,20)) erzeugen vom kleinsten bis zum größten Element. Die Funktion fix() rundet hierbei jeden Wert des Vektors ab.
Lösung:
Bubblesort Algorithmus
 function Y = bubbleSort(X)
 n = length(X); %Länge des Vektors abspeichern
 
 for ii = 1:n-1 %Durchlaufen vom ersten bis zum letzten Element
 for jj = n-1:-1:ii %Durchlaufen des Feldes n-1 bis ii 
 if X(jj) > X(jj+1)
%Vertauschoperation
 zw = X(jj);
 X(jj) = X(jj+1);
 X(jj+1) = zw;
 end
 end
 end
 
 Y = X;
 
Aufruf mit:
>> A=fix(100*rand(1,20));
 >> Asortiert=bubblesort(A); 
