2012-11-13 82 views

回答

15

未指定的qsort實現如下:此實施方案可使用任何排序算法。有趣的是,排序並不需要保持穩定,並且沒有複雜性要求。

qsort(C11§7.22.5.2)的全部規格如下:

qsort功能

梗概

#include <stdlib.h> 
void qsort(void *base, size_t nmemb, size_t size, 
    int (*compar)(const void *, const void *)); 

說明

qsort函數對nmemb對象的數組進行排序,其起始元素爲base指向的 。每個對象的大小由size指定。根據比較功能由COMPAR,其被稱爲使用兩個參數指向的對象進行比較指出

陣列的內容被按升序排列。如果第一個參數被認爲是比上述第二分別小於,等於,或大於該函數將返回一個整數比小於零,等於,或更大。

如果兩個元素的比較結果爲相等,則其將所得排序後的數組中順序是不確定的。

返回

qsort函數返回值。

2

從理論上講,快速排序只被定義到qsortbsort返回值和呼叫值的點。 Here是ISO標準參考。

實際上,它通常使用quicksort