QuickSort, Interface

Status
Nicht offen für weitere Antworten.

Dunedain

Mitglied
Hallo,

bin gerade dabei, (mal wieder zu Übungszwecken), einen Sortierarlgorithmus (QuickSort mit IntertionSort) zu implementieren.

Dazu habe ich mir ein Interface geschrieben, über welches die einzelnen Objekte miteinander verglichen werden sollen (Listenelemente müssen das Interface (logischerweise^^) implementieren). (Comparable konnte ich nicht nehmen, da auch zweidimensinale Datenfelder sortiert werden sollen, daher ein eigenes Interface)
Code:
/**
 * Interface, welcher Methoden zum Vergleich von zwei typgleichen Objekten
 * definiert.

 * Dieses Interface ist zum Verlgeich von Ein- als auch von Mehr-
 * dimensionalen Listen geeignet.
 * @author Aragorn
 */
public interface ISortable<T>
{

    /**
     * Vergleicht das übergebene Objekt und gibt, je nach dem ob:
     * <ul>
     * [*]die Objekte identisch sind, [b]0[/b] zurück
     * [*]das eigene Objekte kleiner ist, [b]1[/b] zurück
     * [*]das eigene Objekte größer ist, [b]-1[/b] zurück
     * [/list]
     * @param o Das zu vergleichende Objekt
     * @param Index Die Spalte, anhand welcher der Vergleich erstellt wird
     * @param CaseInSensitive Bei String Vergleichen die Groß- Kleinschreibung
     * beachten?
     * @return Das Vergleichsergebnis
     */
    public int compareTo(
            T o,
            int Index,
            boolean CaseInSensitive );
    
    
    /**
     * Liest den Wert der angegebenen Datenspalte
     * @param Index Der Spalten Index
     * @return Der gelesene Wert
     */
    public T getColumnValue (
            int Index );
    
    
    /**
     * Liefert im Falle eines Mehrdimensionalen Datenfeldes die Anzahl der
     * Spalten zurück.
     * @return Die Anzahl der Spalten
     */
    public int getColumnCount ();
    
    
}

Leider schliesst ein solches Interface ja primitive Datentypen (Im Falle einer simplen, eindimensionalen Liste) aus (String, Integer und co sind ja final...). Einzigste Möglichkeit, diese nicht auszuschliessen, wäre ein eigener Comparator.

Welche Vor- bzw. Nachteile entstehen, wenn der Vergleich durch ein zusätzliches Objekt verwendet wird?
Die Teillisten bei Quicksort werden jeweils durch Threads sortiert, ist der Comparator in diesem Fall Thread-Safe?

Gibts vielleicht noch ne andere Möglichkeit, die mir entgangen ist?
 
S

SlaterB

Gast
Vor- oder Nachteile sind gleich null, behaupte ich mal,
Thread-safe ist egal, nimm einfach zwei Comparator ;)

ich hoffe, dass du nicht bis auf die unterste Eben neue Threads erzeugst
 

Dunedain

Mitglied
Jein, bis jetzt hab ich lediglich eine maximale Thread Anzahl (4) festgelegt, die jeweils, wenn sie "nichts" zu tun haben, einen neuen Listenabschnitt zum sortieren kriegen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Quicksort Rang ausgeben Allgemeine Java-Themen 2
M Quicksort Partition Allgemeine Java-Themen 0
Zrebna Quicksort-Algorithmus - zufälliges Pivot wählen Allgemeine Java-Themen 6
Kirby.exe Quicksort Allgemeine Java-Themen 5
N Quicksort Programm hängt sich auf Allgemeine Java-Themen 6
D Pivot-Wahl beim QuickSort steigert die Effizienz, eine Lüge??? Allgemeine Java-Themen 17
D QuickSort (Pivotelement) Allgemeine Java-Themen 2
R Quicksort 3 Median funktioniert nur unzuverlässig Allgemeine Java-Themen 2
S Alphabetische sortierung mit Quicksort Allgemeine Java-Themen 10
S Quicksort Problem Allgemeine Java-Themen 4
S Frage zu dieser Quicksort Variante Allgemeine Java-Themen 2
G QuickSort Allgemeine Java-Themen 7
G ArrayList mit quicksort sortieren Allgemeine Java-Themen 9
G QuickSort mit 2 Kriterien durchführen Allgemeine Java-Themen 12
B Leere vererbte Interface-Methoden Allgemeine Java-Themen 8
OnDemand Interface imlementieren Allgemeine Java-Themen 4
Buroto Interface Allgemeine Java-Themen 2
T Komische Zeichen im Zusammenhang mit Serializable interface Allgemeine Java-Themen 13
M Kann man Annotationen auf Klassen einschränken die ein Interface implementieren? Allgemeine Java-Themen 1
H Kombination Interface und Abstrakte Klasse bei Generics Allgemeine Java-Themen 3
B JaxB und @XmlIDREF mit Interface Allgemeine Java-Themen 1
R Lambda Expression in einer Methode execute() aufrufen (execute() ist eine Methode aus dem funktionalen Interface Command) Allgemeine Java-Themen 5
P Abstrakte Klassen vs. Interface Allgemeine Java-Themen 4
Kirby.exe Autocloseable Interface Allgemeine Java-Themen 2
T Abgeleitetes Interface public ohne Schlüsselwort "interface"? Allgemeine Java-Themen 3
S static in Interface und Klasse Allgemeine Java-Themen 2
S static methode im Interface Allgemeine Java-Themen 1
S Interface, generischer Datentyp, Exception? Allgemeine Java-Themen 3
B Vererbung Interface und implementierende Klassen Allgemeine Java-Themen 8
A Anonyme Klassen - Interface Allgemeine Java-Themen 5
C Ein Iterator ist eine Implementierung des Interface Iterable? Allgemeine Java-Themen 2
J Generische Interface - Problem Allgemeine Java-Themen 3
mrBrown Namensfindung Fluent-Interface Allgemeine Java-Themen 0
J Logik in Interface Allgemeine Java-Themen 2
N Best Practice Allgemeines Verhalten für ein Interface implementieren? Allgemeine Java-Themen 7
B eigenes Consumer Interface Allgemeine Java-Themen 0
S 2 methoden mit gleichen namen und ein Interface Allgemeine Java-Themen 9
N GUI Interface, swing Allgemeine Java-Themen 7
Thallius Konzeptproblem User-Interface Allgemeine Java-Themen 5
T Interface vs abstract Allgemeine Java-Themen 2
S Klassen Abstract, Interface und ein Chat Tool Allgemeine Java-Themen 1
I Interface Interface / Klasse - wieso Abstract? Allgemeine Java-Themen 13
D generische Interface und konkrete Methode Allgemeine Java-Themen 3
C Klassen Problem mit Funktion einer Generischen Klasse die ein Interface implementiert Allgemeine Java-Themen 0
N Problem mit Generics und Interface Allgemeine Java-Themen 4
D Methode mit optionalen Parametern in Interface Allgemeine Java-Themen 3
T Interface mit generische Typen Allgemeine Java-Themen 5
M Interface einer Library implementieren Allgemeine Java-Themen 3
A Klassen ein Interface aufzwingen Allgemeine Java-Themen 4
Bananabert Interface Custom 'Event' mit Interface Allgemeine Java-Themen 10
J Interface Serializable Methodensignatur Allgemeine Java-Themen 2
J Interface Interface für Framework verwenden Allgemeine Java-Themen 4
F Interface IInterface oder Interface? Allgemeine Java-Themen 3
M Generics (bounded wildcards statt Interface Bezeichnern) -- Sinn oder Unsinn? Allgemeine Java-Themen 2
T Interface Probleme Allgemeine Java-Themen 8
M Queues und Queue Interface Allgemeine Java-Themen 3
I Mehrfaches Implementieren eines generischen Interface Allgemeine Java-Themen 9
W Java Native Interface und "mp3player" Allgemeine Java-Themen 3
M Über Liste verschiendene JComponents mit eigenem implementierten Interface ansprechen Allgemeine Java-Themen 7
P Eclipse Java Native Interface-Problem Allgemeine Java-Themen 8
Z Abstrakte Klassen /Interface Allgemeine Java-Themen 5
pg1337 Interface-Frage Allgemeine Java-Themen 24
S Interface Welchen Interface Stil favorisiert ihr? (usability) Allgemeine Java-Themen 17
faetzminator statische Variablen in Interface - Vererbung? Allgemeine Java-Themen 9
R Implementierung eines Interface durch 2 verschiedene Klassen Allgemeine Java-Themen 6
T OpenOffice Interface Elemente Ein/Ausblenden Allgemeine Java-Themen 5
K Interface Interface comparable machen Allgemeine Java-Themen 9
T Interface > Abstract > Class Allgemeine Java-Themen 11
N Trick für Compilerfehler bei fehlendem Interface Allgemeine Java-Themen 12
X Interface - Klasse einladen Allgemeine Java-Themen 6
G Interface -> InterfaceImplementierung Allgemeine Java-Themen 3
Ark Array durch Interface ersetzen Allgemeine Java-Themen 7
R Interface instanzieren Allgemeine Java-Themen 8
B Frage zu Interface und List Allgemeine Java-Themen 4
KrokoDiehl JNI: native im Interface Allgemeine Java-Themen 4
S normale vererbung als interface Allgemeine Java-Themen 2
E Beispiel für ein möglichst einfaches Interface Allgemeine Java-Themen 22
N Unterschied abstract interface und interface Allgemeine Java-Themen 4
S interface verbung problem Allgemeine Java-Themen 9
S problem programm mit interface: Allgemeine Java-Themen 3
R Vererbung mit Interface und Abstract Allgemeine Java-Themen 3
B Interface und von Thread ableiten Allgemeine Java-Themen 6
R Interface Serializable technische Begrenzung Allgemeine Java-Themen 2
T Interface-Referenz Allgemeine Java-Themen 2
L interface abstrakte klasse Allgemeine Java-Themen 21
S Interface Geschäftslokik & GUI Allgemeine Java-Themen 6
G Interface zwischen 2 Programmierern Allgemeine Java-Themen 10
C Schnittstellen(interface) Allgemeine Java-Themen 9
N List<? implements "Interface"> geht nicht Allgemeine Java-Themen 13
D javadoc interface + implementation + @overrides Allgemeine Java-Themen 16
G Interface oder abstrakte Klasse Allgemeine Java-Themen 4
T Parameter einer Klasse auf Interface prüfen Allgemeine Java-Themen 6
A feststellen, welche Klassen ein Interface implementieren Allgemeine Java-Themen 3
G class, interface, or enum exp? Allgemeine Java-Themen 2
S Interface Klasse überladen. Allgemeine Java-Themen 2
K Inneres Interface äußere Klasse Allgemeine Java-Themen 7
T Frage zu interface und "guter Programmierstil" Allgemeine Java-Themen 4
T Interface "on-the-fly" implementieren? Allgemeine Java-Themen 3
S Frage zu Interface Allgemeine Java-Themen 7
J Objektorientiert - Interface & Klassen Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben