Hallo!
Ich will ein Array sortieren (Quicksort oder Bubblesort):
public Fremdvariable[] MyItem = new Fremdvariable[10000];
Das Problem dabei ist, dass ich "Arry.Sort" nicht verwenden kann da es sich um keinen Standardtypen wie wie z. B. String handelt.
Auch die "IComparable"-Schnittstelle kann ich nicht benutzen, weil ich ein Array eines Datentyps einer Fremdbibliothek sortieren will und diese nicht implementiren kann.
Hat da jemand eine fertige Lösung für gesehen oder Quellcode?
mfg
husky
Signatur:
Die Signatur wird unter Ihren Beiträgen dargestellt.
😁 😮 ?( 8) 😭 8o :] 🙁 =) X( 🙂 😜 😉 :rolleyes: 👶 :evil: 👅
Smilies find ich doof =]
Hallo Husky!
Suchst Du einen Algorithmus dafür?
Dann schau mal hier:
Ansonsten verstehe ich Deine Frage nicht so ganz...
Ciao
Norman-Timo
A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”
Wenn ein Typ nicht IComparable implementiert, kann man die Funktionalität auch losgelöst per IComparer bereitstellen.
Du schreibst einfach einen IComparer für den Typ in der Fremdbibliothek und übergibst ihn als zweiten Parameter an die Sort-Methode.
Gruss
Pulpapex
Hallo husky410,
bitte nicht wie vorgeschlagen eine eigene Sort-Routine implementieren, sondern die Lösung von Pulpapex verwenden.
herbivore
Hallo Herbivore!
Warum sollte man keine eigene Suchfunktion schreiben? Manchmal ist Quicksort nicht das schnellste, das hängt doch von der Vorsortierung ab, wenn ich mich nicht irre?
Ich hab mal vor Ewigkeiten alle möglichen Suchalgorithmen in C implementieren müssen, und dann haben wir zu Testzwecken das auf große Datenbanken losgelassen.
Also Quintessenz war damals (und das ist das einzige was ich behalten konnte 🙂 dass je nach dem was für Daten vorliegen, und wie sie eben vorsortiert sind dieser oder jener Algorithmus schneller war.
Prinzipiell hast Du aber Recht, wenn man keine Informationen darüber hat, wie die Quelle aussieht, ist Quicksort (oder auch .NET-Sort) im Mittelmaß das Schnellste.
Ciao
Norman-Timo
A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”
Hallo norman_timo,
natürlich gibt es Gründe für spezielle Situationen spezielle Sortierroutinen zu schreiben. Was ich z.B. vermisse ist eine Sortierungroutine, die stabil* sortiert. Aber ich meinte das genau so, wie du im letzten Abschnitt schreibst. Wenn man nichts spezielles braucht, sollte man nichts selber schreiben.
* Man unterscheidet zudem zwischen stabilen und instabilen Sortierverfahren. Stabile Sortierverfahren sind solche, die die relative Reihenfolge von Elementen, die bezüglich der Ordnung äquivalent sind, nicht verändern, während instabile Sortierverfahren diese Reihenfolge ändern können. Quelle: Wikipedia
herbivore