編譯器函式庫自帶的快速排序函式。
使用qsort()排序並用 bsearch()搜尋是乙個比較常用的組合,使用方便快捷。
qsort 的函式原型是
void qsort(void*base,size_t num,size_t width,int(__cdecl*compare)(const void*,const void*));
各引數:1 待排序陣列首位址 2 陣列中待排序元素數量 3 各元素的占用空間大小 4 指向函式的指標
其中base是排序的乙個集合
陣列,num是這個陣列元素的個數,width是乙個元素的大小,comp是乙個比較函式。(不同型別的引數要用不同的函式進行比較)
根據返回值的不同,可以改變qsort是從小到大排列還是從大到小排列。返回值小於零從小到大排列,返回值大於零從大到小排列。
一 整形比較
int
comp(
const
void
*a,
const
void
*b)
二 字串比較
int
comp(
const
void
*p1,
const
void
*p2)
三 結構體關鍵字比較
structnode
s[100];
int
comp(constvoid*p1,constvoid*p2)
寫乙個完整的簡單整形排序:
C語言 qsort 解析
包含標頭檔案為stdlib.h void qsort void base,size t num,size t width,int compare const void const void 各引數 待排序陣列首位址 陣列中待排序元素數量 各元素的占用空間大小 指向函式的指標,用於確定排序的順序,記住...
sort與qsort對比解析
1.sort函式為c 內建函式 sort buffer,buffer n,cmp buffer為待排序陣列的首位址,buffer n為待排序陣列的最後乙個資料的位址。cmp為自定義的排序規則函式,sort 函式預設是為公升序排列,允許排序型別包括數值 字元 字串。sort 也可以對結構體進行排序。c...
qsort的簡單用法
c語言中可以通過呼叫qsort排序函式,來實現對於一組資料進行排序,之前沒有用過,所以總結一下qsort的簡單使用 qsort函式包含於標頭檔案當中 void qsort void ptr,size t count,size t size,int comp const void const void...