在這裡,我們將看到C語言中的qsort()和C 中的sort()之間的差異。
C語言提供了qsort()函數,可用來對陣列進行排序。函數的參數和語法如下所示。
void qsort(void *base, size_t num, size_t size, int (*comparator) (const void*, const void*));
這個函數接受陣列的基底位址、陣列的元素數量、陣列中每個項目的大小、一個比較函數。
C 提供了sort()函數,它位於C STL中。其參數和語法如下所示。
void sort(T first, T last, Compare c);
這裡不保證重複元素的順序被保留。為了實現這個目的,我們可以使用C STL提供的stable_sort。
#C中的qsort() | C 中的sort() |
---|---|
它使用快速排序演算法。 | 它使用introsort。這是一種混合排序演算法。不同的實作使用不同的演算法。 GNU C STL使用三部分混合排序。 Introsort、Quicksort和Insertion Sort。 |
C標準沒有提到 | 這個問題。 |
以上是C qsort()與C++ sort()的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!