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])這樣的表達式,下面也有說明);第四個參數就是很多人覺得非常困惑的比較函數,關於這個函數,可以用其他的函數自己寫的函數,進行更換比較形式。