8
A
回答
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
1
在補充值得注意的是標準的詹姆斯McNellis的報價是GNU’s libc documentation說
的
qsort
功能的事實,它本來使用「快速排序」算法來實現得其名。
它決定使用alternative algorithm,顯然是合併排序。
相關問題
- 1. python的排序()使用什麼算法?
- 2. 用qsort在c中排序
- 3. 排序後綴qsort
- 4. 使用qsort排序字符串
- 5. 使用qsort對數組進行排序
- 6. 排序地址使用的qsort
- 7. 這個排序算法叫什麼?
- 8. 這是什麼樣的排序算法?
- 9. 這是什麼排序算法?
- 10. 這個排序算法叫做什麼?
- 11. 使用will-paginate排序算法排序
- 12. 排序算法排序使用模板
- 13. 使用的qsort到結構(由「姓」字段排序)排序
- 14. 對基數排序只使用穩定的排序算法有什麼需要?
- 15. 爲什麼使用排序算法與數據庫做呢?
- 16. 爲什麼「計數排序」算法更廣泛使用?
- 17. 排序算法 - 使用Javascript
- 18. 無法使用qsort在C中對dirent進行排序
- 19. 這用什麼分區算法? (用於快速排序)
- 20. 何時使用哪種排序算法,什麼時候不應該使用
- 21. 您將使用什麼排序算法對大型,幾乎排序的列表進行排序
- 22. GL_LINEAR使用什麼算法?
- 23. arsort使用什麼算法?
- 24. mayavi.mlab.pipeline.iso_surface.IsoSurface使用什麼算法?
- 25. table.sort使用什麼算法?
- 26. Math.random使用什麼算法?
- 27. qSort()爲什麼不工作?
- 28. 什麼是最快的快速排序 - 排序算法的排名表?
- 29. 在Java 6中有什麼不同的排序算法可用?
- 30. 這個排序算法爲什麼起作用?