Hallo Programmierfreunde!
Schon wieder versuche ich, einen Sortieralgorithmus zum Laufen zu bringen, mal wieder mit Java. Die Beschäftigung mit meinen in diesen Forum schon zu ähnlich gestellten Fragen brachte mich nicht so recht weiter.
Es geht um die angehängte Datei, die von
github.com/coderplay...StableQuicksort.java stammt, die allerdings um diese beide:
Quelltext
1: 2:
| package InPlaceStableQuicksort; import java.util.Comparator; |
ersten Codezeilen ergänzt wurde. Oh Wunder, die Eclipse akzeptiert das.
Die automatische Codevervollständigung bietet mir in der Hauptdatei
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| import java.util.Comparator;
import InPlaceStableQuicksort.*;
public class HalloWelt {
public static void main(String[] args) {
} } |
bei Eingabe von
Quelltext
1:
| InPlaceStableQuicksort. |
in der Main-Prozedur die Klasse und das eigentliche Ziel meiner Begierde,
Quelltext
an. Letzteres wählte ich:
Quelltext
1:
| InPlaceStableQuicksort.sort(data, comp); |
Doch nun weiß ich nicht mehr so recht weiter. Anfänglich war beides - data und com - rot unterstrichen. Die erste Hilfe, die die Eclipse mir bietet, ist die Erzeugung einer lokalen Variable
Quelltext
woraufhin "data" nicht mehr rot unterstichen wird. Doch welches Format hat "data" - ein Array, eine Liste? Es ist doch ein Objekt, also ganz allgemeinen Formates, nicht wahr?
Nehme ich auch eine der angebotenen "Lösungen" für das rot unterstichene "comp" an (die erste mit der lokalen Variable), die dann lautet:
Quelltext
hat das nur zur Folge, daß sowohl "com" weiterhin als auch "data" erneut rot unterstrichen sind. Andere "Lösungen" sind genauso "erfolgreich".
Kurzum, ich muß den Sortieralgorithmus mit Daten / einer Datenstruktur und einem Comparator "füttern", weiß jetzt aber nicht, wie.
Kann mir jemand helfen, bitte?
Vielen Dank und Gruß
Delphi-Laie
Edit: Ein wenig schlauer bin ich inzwischen. Es wird wohl ein Array als Datenstruktur erwartet. Muß also nur noch der Comparator für dessen Elemente definiert werden....
Edit 2: Ich habe es jetzt doch hinbekommen, nachdem ich mir nochmals
www.entwickler-ecke....ewtopic.php?t=116472 zu Gemüte führte:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30:
| import java.util.Comparator;
import InPlaceStableQuicksort.*;
public class HalloWelt {
static class MyComparator implements Comparator<Integer> { @Override public int compare(Integer i1, Integer i2) { return Integer.compare(i1, i2); } } public static void main(String[] args) { //System.out.println("Hallo Welt");
Integer [] myArray = {5,4,3,2,1}; Comparator c = new MyComparator(); InPlaceStableQuicksort.sort(myArray,c); System.out.println(myArray[0]); System.out.println(myArray[1]); System.out.println(myArray[2]); System.out.println(myArray[3]); System.out.println(myArray[4]); } } |