這篇文章主要介紹了C語言中qsort函數(shù)怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
成都創(chuàng)新互聯(lián)長期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為金川企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、成都做網(wǎng)站,金川網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
功 能:使用快速排序例程進行排序 用 法:
void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));
參數(shù):base是排序的一個集合數(shù)組,num是這個數(shù)組元素的個數(shù),width是一個元素的大小,comp是一個比較函數(shù) 比如:
① 對一個長為1000的數(shù)組進行排序時,那么base應(yīng)為a,num應(yīng)為 1000,width應(yīng)為 sizeof(int),comp函數(shù)隨自己的命名
qsort(a,1000,sizeof(int),comp);
其中comp函數(shù)應(yīng)寫為:
int comp(const void *a,const void *b){
return *(int *)a-*(int *)b;
}
上面是由小到大排序,return *(int *)b-*(int *)a; 為由大到小排序。
② 對一個二維數(shù)組的進行排序:
int a[1000][2];
其中按照a[0]的大小進行一個整體的排序,其中a[1]必須和a[0]一起移動交換。 qsort(a,1000,sizeof(int)*2,comp);
int comp(const void *a,const void *b) {
return ((int *)a)[0]-((int *)b)[0];
}
感謝你能夠認真閱讀完這篇文章,希望小編分享的“C語言中qsort函數(shù)怎么用”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!