Implementierung von qsort

435
user

Ich habe nach einer Implementierung gesucht, qsort aber mit Google finde ich die Implementierung für so etwas

void qsort(int[] arr, int left, int right); 

Was ich will, ist die Implementierung für so etwas

template <typename T> void qsort(T* begin, T* end); 

So kann ich es für rohe Zeiger, intelligente Zeiger und Iteratoren verwenden

Ich habe versucht, es zu implementieren, aber ich konnte es einfach nicht schaffen, all diese Fälle zu erledigen: sortierte Elemente, umgekehrt sortierte Elemente und unsortierte Elemente

Jede Hilfe wird geschätzt

1
Sie wissen, dass es sich bei QuickSort um einen rekursiven Algorithmus handelt, der die Liste immer wieder in links und rechts aufteilt, oder? In diesem Fall müssten Sie Ihre Funktion zu einem Wrapper machen, der diese Zeiger verwendet und intern auf ein Array sowie linke und rechte Indizes geschlossen hat, und dann die rekursive Operation starten. Ihre Methode enthält nicht die erforderlichen Informationen, um den Algorithmus rekursiv auszuführen (obwohl es hoffentlich ausreicht, die Argumente für den Aufruf von qsort (int [], int, int) `abzuleiten). Frank Thomas vor 7 Jahren 0
Diese Frage eignet sich besser für [StackOverflow] (http://stackoverflow.com). AFH vor 7 Jahren 1
Diese Frage * könnte * an * funktionieren, wenn Sie Ihre Implementierung und ihre Probleme gezeigt haben. Wir können Ihnen nicht bei der Suche nach Implementierungen helfen, da Shopping- und Produktempfehlungen hier nicht Thema sind. Mokubai vor 7 Jahren 0

0 Antworten auf die Frage