void qsort( void *base, size_t num, size_t width, int (__cdecl *compare ) int com (const void *elem1, const void *elem2 ) );
qsort主要根據(jù)你給的比較條件給一個(gè)快速排序瓢喉,主要是通過指針移動(dòng)實(shí)現(xiàn)排序功能胖翰。排序之后的結(jié)果仍然放在原來數(shù)組中矛渴。
參數(shù)意義如下:
第一個(gè)參數(shù) base 是 需要排序的目標(biāo)數(shù)組名(或者也可以理解成開始排序的地址婚脱,因?yàn)榭梢詫?amp;s[i]這樣的表達(dá)式)
第二個(gè)參數(shù) num 是 參與排序的目標(biāo)數(shù)組元素個(gè)數(shù)
第三個(gè)參數(shù) width 是單個(gè)元素的大屑陶摇(或者目標(biāo)數(shù)組中每一個(gè)元素長(zhǎng)度)世囊,推薦使用sizeof(s[0])這樣的表達(dá)式
第四個(gè)參數(shù) compare 就是比較函數(shù)哭廉。
典型的compare的定義是
int compare(const void *a,const void *b){ return (int *)a>(int *b); }
實(shí)現(xiàn)降序排列战虏。