Vektor sortieren

Hallo,

ich habe mir ein Programm geschrieben, was bisher eine Tabelle einliest (csv).
In dieser Tabelle steht z.B.
1
3
5
2
7
6
9
8
0
4

Diese einzelnen Zahlen speichere ich in einem Vector v. Bis dahin klappt alles ganz gut.
Nun will ich aber einen Sortieralgo schreiben, der die einzelnen Elemente durchguckt und von v.elementAt(i) > v.element(i+1) ist, dann sollen diese beiden vertauscht werden, bis v.element (i+1) an keiner Stelle mehr größer als v.element(i) ist.
Ich kann aber objekte nicht mit vergleichen. Wie kann ich das also anstellen?

Danke für eure Hilfe

LG

BC

Moin,

wenn Du mit Vector arbeitest, brauchst Du eigentlich keinen eigenen Sortier-Algo zu schreiben, da für Integer die Collection.sort(Collection c) Methode funktioniert.
Solltest Du aber doch eigens sortieren wollen, musst Dein Objekt comparable implementieren und die compareTo() angepasst werden.

Gruß,
Puni

Hi,

na ja, also das mit den paar Zahlen sollte ja nur erst mal ein einfaches Beispiel sein, damit ich so ungefähr ne Ahnung bekomme, wie man mit Vektoren umgeht.
Im Endeffekt will ich später Strings (Adressen aus einer DB) sortieren.

Kannst du mir sagen, wie ich die einzelnen Objekte miteinander vergleichen kann?

Strings implementieren schon das Interface Comparable, zum sortieren müsstest nur die Methode compareTo aufrufen, die liefert dann entweder 1, 0 oder -1 zurück. 1 wenns größer ist, 0 wenns gleich ist und -1 wenns kleiner ist.
0 [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Danke für die Antworten,

ich weiss, dass einfach Sortieralgorithmen bereits vorhanden sind, aber wie gesagt, ich erfinde ständig das Rad neu zur Zeit, einfach aus reinen Übungszwecken.

Ich habe aber mitlerweile schon einiges gelöst bekommen (auch wenn meine Liste immernoch nicht ordentlich sortiert wird :wink: )

Erst mal auf jeden Fall danke

Gruß

Strings implementieren schon das Interface Comparable, zum
sortieren müsstest nur die Methode compareTo aufrufen […]

Aber dafür bräuchtest auch keinen eigenen Algorithmus
schreiben, das wäre schon in
Collections.sort(v); gelöst
http://java.sun.com/j2se/1.5.0/docs/api/java/util/Co…