Wir untersuchen in dieser Aufgabe BubbleSort (inklusive der in der Vorlesung vorgestellten Optimierung).
Implementieren Sie BubbleSort. Sortieren Sie jeweils
absteigend. Leiten Sie Ihre Methode von der Klasse
Sort ab (siehe Template in Subato) und überschreiben Sie
sort(). Implementieren Sie folgende Main-Methode:
BubbleSort sort = new BubbleSort();
sort.runSmall(100000);
Führen Sie Ihr Programm aus (es wird ein Korrektheitstest anhand verschiedener Zufalls- Arrays wachsender Größe durchgeführt). Beheben Sie eventuelle Fehler. Ersetzen Sie dann sämtliche Vergleiche und Änderungen des Ziel-Arrays durch Aufrufe der Methoden
lt(), lte(), gt(), gte(),swap(), move()
und
set()
:
Ersetzen Sie z.B.
if(a[i]>a[j])
durch
if(gt(a,i,j))
.
Hierdurch wird die Anzahl der benötigten Vergleiche und Änderungen mitgezählt und in der Konsole ausgegeben.
package de.hsrm.cs.ads;
public class BubbleSort extends Sort {
public void sort(int[] a) {
// FIXME: implement
}
public static void main(String[] args) {
BubbleSort sort = new BubbleSort();
sort.runSmall(1000);
}
}