Wir untersuchen in dieser Aufgabe SelectionSort.
Implementieren Sie dieses Verfahren. Sortieren Sie jeweils aufsteigend. Leiten Sie Ihre Methode von der Klasse
Sort ab (siehe Template in Subato) und überschreiben Sie
sort(). Implementieren Sie folgende Main-Methode:
SelectionSort sort = new SelectionSort();
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 SelectionSort extends Sort {
public void sort(int[] a) {
// FIXME: implement
}
public static void main(String[] args) {
SelectionSort sort = new SelectionSort();
sort.runSmall(1000);
}
}