Hier sehen wir den Unterschied zwischen qsort() in C und sort() in C++.
C-Sprache bietet die Funktion qsort(), die zum Sortieren von Arrays verwendet werden kann. Die Parameter und Syntax der Funktion werden unten angezeigt.
void qsort(void *base, size_t num, size_t size, int (*comparator) (const void*, const void*));
Diese Funktion akzeptiert die Basisadresse des Arrays, die Anzahl der Elemente im Array, die Größe jedes Elements im Array und eine Vergleichsfunktion.
C++ stellt die Funktion sort() bereit, die sich in C++ STL befindet. Seine Parameter und Syntax werden unten angezeigt.
void sort(T first, T last, Compare c);
Es gibt keine Garantie dafür, dass die Reihenfolge der wiederholten Elemente erhalten bleibt. Um diesen Zweck zu erreichen, können wir den von C++ STL bereitgestellten Stable_sort verwenden.
qsort() in C | sort() in C++ |
---|---|
Es verwendet einen Schnellsortierungsalgorithmus. | Es verwendet Introsort. Dies ist ein hybrider Sortieralgorithmus. Unterschiedliche Implementierungen verwenden unterschiedliche Algorithmen. GNU C++ STL verwendet eine dreiteilige Hybridsortierung. Introsort, Quicksort und Insertion Sort. |
Der C-Standard erwähnt | dieses Problem nicht. |
Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen C qsort() und C++ sort(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!