qsort那點小事

qsort包含在<stdlib.h>頭文件中,此函數根據你給的比較條件進行快速排序,通過指針移動實現排序。排序之後的結果仍然放在原數組中。使用qsort函數必須自己寫一個比較函數。

函數原型:

void qsort ( void * base, size_t num, size_t size, int ( * comparator ) ( const void *, const void * ) );

函數一共四個參數,沒返回值。一個典型的qsort的寫法如下:

void qsort(s,n,sizeof(s[0]),cmp);

其中第一個參數是參與排序的數組名(或者也可以理解成開始排序的地址,因爲可以寫&s[i],這個問題下面有說明);第二個參數是參與排序的元素個數; 第三個參數是單個元素的大小(推薦使用sizeof(s[0])這樣的表達式,下面也有說明);第四個參數就是很多人覺得非常困惑的比較函數,關於這個函數,可以用其他的函數自己寫的函數,進行更換比較形式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章