2010年10月24日 星期日

C語言Qsort用法









今天要來介紹Qsort的用法 ,
許多的問題都需要排序後才可解 ,
然而排序也有分快與慢 ,
公認排序時間平均最快的大概就是Qsort ,
因此我們今天的主角就是它了 ,
再使用Qsort時必須include stdlib.h 檔 ,
才能呼叫Qsort ,
qsort的用法如下 ,
qsort(陣列名稱,陣列長度,儲存大小,要自己寫的部分) ,
這看起來有點難懂 ,
換成程式寫法如下 ,
array[arrayCount] ,
qsort(array,arrayCount,sizeof(array[0]),sortFunction) ,
這樣應該好懂許多 ,
sortFunction這部分要自己寫 ,
小弟也是直接拿別人的來使用 ,
在這奉上程式碼
int sortFunction( const void *a, const void *b) {
    int intOne = *((int*)a);
    int intTwo = *((int*)b);
    if (intOne < intTwo)
        return -1;
    if (intOne == intTwo)
        return 0;
    return 1;
}