青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Prayer

在一般中尋求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

qsort與bsearch的cmp(轉(zhuǎn))

Posted on 2010-09-07 15:07 Prayer 閱讀(1214) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): C/C++

qsort函數(shù)聲明如下:

void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *));

參數(shù)說(shuō)明如下:
base: 要排序的數(shù)組
nmemb: 數(shù)組中的元素?cái)?shù)目
size: 每個(gè)數(shù)組元素占用內(nèi)存空間,可使用sizeof獲得
compar: 比較兩個(gè)數(shù)組元素的比較函數(shù)。本比較函數(shù)的第一個(gè)參數(shù)值小于、等于、大于第二參數(shù)值時(shí),本比較函數(shù)的返回值應(yīng)分別小于、等于、大于零。

也就說(shuō)你要實(shí)現(xiàn)一個(gè)這樣的函數(shù):
int cmp(const void *a, const void *b)
如果a > b,返回>0
如果a == b, 返回0
如果a < b,返回<0
這里的a和b的關(guān)系僅僅是邏輯上的,并不是值比較,所以排序的可以不僅僅是數(shù)字,還可以是字符。

 

bsearch函數(shù)聲明如下:

void *bsearch(const void *key, const void *base, size_t *nelem,
size_t width, int(*fcmp)(const void *, const *));

參數(shù)的意思和qsort的差不多,區(qū)別在于:
1. qsort用來(lái)排序,bsearch用二分法來(lái)查找元素
2. bsearch中的base必須是升序排列的數(shù)組!!!
3. 如果數(shù)組里有重復(fù)的答案,則bsearch會(huì)返回其中一個(gè)的地址 (具體返回哪一個(gè)不確定)
4. bsearch有五個(gè)自變量,第一個(gè)是要找的東西,剩下的跟qsort一模一樣
5. bsearch如果沒(méi)找到所求則回傳NULL ,否則回傳該元素被找到的地址(void *)

c函數(shù)qsort()和bsearch()的用法
使用qsort()排序 并 用 bsearch()搜索是一個(gè)比較常用的組合,使用方便快捷。
qsort 的函數(shù)原型是void __cdecl qsort ( void *base, size_t num, size_t width, int (__cdecl *comp)(const void *, const void* ) )

其中base是排序的一個(gè)集合數(shù)組,num是這個(gè)數(shù)組元素的個(gè)數(shù),width是一個(gè)元素的大小,comp是一個(gè)比較函數(shù)。

比如:對(duì)一個(gè)長(zhǎng)為1000的數(shù)組進(jìn)行排序時(shí),int a[1000]; 那么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)寫(xiě)為:

int comp(const void *a,const void *b)
{
return *(int *)a-*(int *)b;
}

而關(guān)于bsearch() ,他和qsort的用法基本一樣,只是他的返回值是一個(gè)指向找到的單位元素的一個(gè)指針,另外他多了一個(gè)參數(shù),是一個(gè)指向查找元素的一個(gè)指針。

比如:從上面例子中的結(jié)構(gòu)體數(shù)組中查找一個(gè)字符串:

str *locate;
char buffer[30]="abc";
locate=(str*)bsearch(buffer,strin,total,sizeof(str),com);

int com(const void *a,const void *b)
{
return strcmp( (char*)a, ((str*)b)->str2 );
}

注意這里cmp與qsotr的有所不同。

qsort 和bsearch的cmp函數(shù)不同的
qsort 比較的時(shí)dict 數(shù)組的兩個(gè)成員
bsearch比較的時(shí)key 和dict中成員

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲欧美激情视频| 亚洲高清不卡在线| 午夜日韩电影| 亚洲图片在线| 欧美亚洲视频| 亚洲尤物影院| 久色婷婷小香蕉久久| 欧美亚洲一区在线| 欧美一区在线看| 看欧美日韩国产| 欧美视频你懂的| 国产精品电影在线观看| 国产亚洲激情在线| 日韩视频在线一区二区| 欧美一区二区大片| 欧美成人国产一区二区| 日韩亚洲一区二区| 久久gogo国模裸体人体| 久久九九国产精品怡红院| 麻豆av一区二区三区| 亚洲激情女人| 欧美一区二区国产| 欧美激情免费在线| 国产亚洲精品久久久久久| 中国女人久久久| 欧美搞黄网站| 久久人人爽人人爽| 国产综合色在线视频区| 欧美在线|欧美| aa亚洲婷婷| 欧美性理论片在线观看片免费| 韩国欧美一区| 欧美不卡高清| 日韩视频第一页| 亚洲精品一区二| 欧美日韩人人澡狠狠躁视频| 亚洲欧洲在线视频| 亚洲国产精品一区二区三区| 免费在线视频一区| 亚洲第一区色| 亚洲精品少妇网址| 欧美香蕉视频| 久久精品电影| 男同欧美伦乱| 亚洲欧美日韩高清| 久久久久国产精品www| 亚洲免费激情| 性感少妇一区| 夜夜嗨av一区二区三区| 亚洲一区二区三区国产| 精品动漫3d一区二区三区| 欧美大尺度在线| 欧美日韩免费观看一区三区| 久久精品亚洲国产奇米99| 老巨人导航500精品| 99pao成人国产永久免费视频| 99精品欧美一区二区蜜桃免费| 国产精品成人观看视频免费| 久久精品一二三| 欧美日韩亚洲免费| 免费视频一区| 国产欧美韩国高清| 日韩视频免费观看| 亚洲国产欧美另类丝袜| 午夜亚洲性色福利视频| 日韩视频专区| 久久中文字幕导航| 欧美一级视频一区二区| 欧美片在线播放| 亚洲精品在线免费观看视频| 在线观看一区二区视频| 欧美一区二区三区四区夜夜大片| 一区二区欧美日韩| 欧美精品自拍| 日韩网站在线看片你懂的| 亚洲视频免费看| 亚洲欧美在线看| 国产精品人人做人人爽人人添| 一区二区高清视频| 午夜精品福利电影| 国产日韩欧美在线| 久久九九久久九九| 男人的天堂亚洲在线| 亚洲人体偷拍| 国产精品狼人久久影院观看方式| 亚洲午夜久久久| 欧美mv日韩mv亚洲| 一本一本a久久| 免费成人小视频| 中文日韩在线| 亚洲欧美中文字幕| 久久亚洲精品一区二区| 亚洲国产成人久久| 国产精品第一区| 久久久国产精彩视频美女艺术照福利| 免费在线成人av| 亚洲一区在线播放| 亚洲国产成人久久综合| 国产精品久久久久永久免费观看| 香蕉精品999视频一区二区 | 亚洲精品小视频| 午夜精品免费| 一区二区精品| 日韩视频一区二区三区在线播放免费观看| 欧美了一区在线观看| 久久99在线观看| 中文日韩欧美| 一区二区av在线| 99re6热只有精品免费观看| 欧美成人性网| 欧美风情在线| 欧美高清在线观看| 亚洲第一精品电影| 欧美多人爱爱视频网站| 久久久久久尹人网香蕉| 欧美亚洲一区| 久久国产精品99国产精| 欧美在线国产精品| 欧美一区二区| 免费在线播放第一区高清av| 欧美成人免费在线视频| 亚洲人成在线观看| 99av国产精品欲麻豆| 亚洲免费在线播放| 久久久久成人精品| 欧美日产一区二区三区在线观看 | 亚洲电影在线| 欧美黄色小视频| 亚洲人体影院| 午夜精品影院在线观看| 蜜桃精品久久久久久久免费影院| 欧美国产日韩在线| 欧美日本中文| 亚洲国产一区二区三区在线播| 亚洲高清不卡在线观看| 欧美在线视频免费观看| 欧美国产日韩a欧美在线观看| 99视频日韩| 欧美成人免费小视频| 国产精品亚洲аv天堂网| 好看的日韩视频| 午夜精品福利一区二区三区av| 欧美ab在线视频| 欧美一区二区在线观看| 欧美精品一区二区精品网| 合欧美一区二区三区| 新狼窝色av性久久久久久| 亚洲精品一区二区三区樱花 | 日韩亚洲欧美中文三级| 欧美.www| 亚洲精品乱码久久久久久蜜桃麻豆 | 国产日韩欧美在线一区| 亚洲视频欧美视频| 亚洲三级视频| 欧美激情一区二区三区不卡| 亚洲精品1区| 一本到高清视频免费精品| 欧美日韩国产限制| 亚洲欧美亚洲| 久久综合五月| 日韩午夜剧场| 亚洲视频在线观看一区| 国产免费成人av| 亚洲国产另类久久久精品极度| 国产婷婷色一区二区三区| 老司机免费视频久久| 国产视频丨精品|在线观看| 欧美一区1区三区3区公司| 欧美中文在线观看| 国产亚洲精品aa午夜观看| 久久av一区二区三区漫画| 牛夜精品久久久久久久99黑人| 亚洲精品乱码久久久久久日本蜜臀 | 一区二区三区日韩欧美| 欧美色道久久88综合亚洲精品| 午夜精品理论片| 欧美成人精品影院| 亚洲自拍高清| 亚洲国产精品视频一区| 国产精品久久久久久久久免费 | 亚洲天堂网在线观看| 国产精品―色哟哟| 噜噜噜噜噜久久久久久91 | 亚洲一区欧美一区| 欧美顶级少妇做爰| 久久精品成人| 亚洲一区三区在线观看| 亚洲激情在线观看| 国产一区二区三区久久久久久久久| 欧美国产日韩xxxxx| 久久精品国产亚洲精品 | 免费短视频成人日韩| 亚洲欧洲av一区二区| 亚洲高清视频的网址| 国产亚洲精品综合一区91| 欧美日韩一区二区三区免费| 美女日韩在线中文字幕| 欧美与欧洲交xxxx免费观看 | 亚洲国产精品高清久久久| 国产乱码精品一区二区三区忘忧草|