日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

qsort与sort()

發(fā)布時(shí)間:2025/4/16 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 qsort与sort() 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
int cmp(const void *a, const void *b) /** 關(guān)于快排函數(shù)的一些說明 **qsort,包含在stdlib.h頭文件里,函數(shù)一共四個(gè)參數(shù),沒返回值.一個(gè)典型的qsort的寫法如下qsort(s,n,sizeof(s[0]),cmp);其中第一個(gè)參數(shù)是參與排序的數(shù)組名(或者也可以理解成開始排序的地址,因?yàn)榭梢詫?amp;s[i] 這樣的表達(dá)式,這個(gè)問題下面有說明); 第二個(gè)參數(shù)是參與排序的元素個(gè)數(shù); 第三個(gè)三數(shù)是 單個(gè)元素的大小,推薦使用sizeof(s[0])這樣的表達(dá)式,下面也有說明 :) ;第四個(gè)參數(shù)就是 很多人覺得非常困惑的比較函數(shù)啦,關(guān)于這個(gè)函數(shù),還要說的比較麻煩...int cmp(const void *a,const void *b);返回值必須是int,兩個(gè)參數(shù)的類型必須都是const void *,那個(gè)a,b是我隨便寫的,個(gè)人喜好. 假設(shè)是對int排序的話,如果是升序,那么就是如果a比b大返回一個(gè)正值,小則負(fù)值,相等返回 0,其他的依次類推,后面有例子來說明對不同的類型如何進(jìn)行排序.在函數(shù)體內(nèi)要對a,b進(jìn)行強(qiáng)制類型轉(zhuǎn)換后才能得到正確的返回值,** 關(guān)于快排的一些小問題 **1.快排是不穩(wěn)定的,這個(gè)不穩(wěn)定一個(gè)表現(xiàn)在其使用的時(shí)間是不確定的,最好情況(O(n))和最 壞情況(O(n^2))差距太大,我們一般說的O(nlog(n))都是指的是其平均時(shí)間.2.快排是不穩(wěn)定的,這個(gè)不穩(wěn)定表現(xiàn)在如果相同的比較元素,可能順序不一樣,假設(shè)我們有 這樣一個(gè)序列,3,3,3,但是這三個(gè)3是有區(qū)別的,我們標(biāo)記為3a,3b,3c,快排后的結(jié)果不一定 就是3a,3b,3c這樣的排列,所以在某些特定場合我們要用結(jié)構(gòu)體來使其穩(wěn)定(No.6的例子就 是說明這個(gè)問題的)5.如果要對數(shù)組進(jìn)行部分排序,比如對一個(gè)s[n]的數(shù)組排列其從s[i]開始的m個(gè)元素,只需要 在第一個(gè)和第二個(gè)參數(shù)上進(jìn)行一些修改:qsort(&s[i],m,sizeof(s[i]),cmp); */ //int型 int qcmp(const void*a,const void *b) {return *(int *)a-*(int *)b;//升序排列。//return *(int *)b-*(int *)a;降序排列 } //char int qcmp(const void *a,const void *b) {return(*(char *)a-*(char *)b);//升序 } //char [][] int qcmp(const void *a,const void *b) {return(strcmp((char*)a,(char*)b));//升序 } //double型 int qcmp(const void *a,const void *b) {return *(double*)a > *(double*)b ? 1:-1;//升序//返回值的問題,顯然qcmp返回的是一個(gè)整型,所以避免double返回小數(shù)而被丟失,用一個(gè)判斷返回值。 } //struct型 struct node {int num;int index; }; int qcmp(const node &a,const node &b) {switch(mode)//都是升序{case 1:return a.num-b.num;case 2:return a.index-b.index;} }//sort排序 bool compare(int a,int b) {return a>b; //降序排列,如果改為return a<b,則為升序 } //同是降序,sort的comp函數(shù)是a>b而qsort的函數(shù)是return b-a;

總結(jié)

以上是生活随笔為你收集整理的qsort与sort()的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 丰满岳乱妇国产精品一区 | 丰满人妻综合一区二区三区 | 日本乱码一区二区 | 亚洲乱熟女一区二区三区小说 | 亚洲在线看 | 国产熟妇搡bbbb搡bbbb | 在线观看a网站 | 亚洲精品天堂网 | 国产精品日韩精品欧美精品 | 日本欧美久久久久免费播放网 | 日韩二区在线 | 亚洲高清在线一区 | 日本在线一区二区 | 日本黄色a级片 | 欧美日韩高清一区二区 国产亚洲免费看 | 久久黑丝 | 在线成年人视频 | 久操视频网站 | 久在线观看视频 | 男男做爰猛烈啪啪高 | 先锋资源一区 | 女生张开腿给男生桶 | 日韩综合一区二区三区 | 欧美女优一区二区 | 国产网红女主播精品视频 | 亚洲精品国产精品国自产在线 | 成人深夜福利 | 欧美日韩精品一区二区在线观看 | 中国av一区 | 男人的天堂黄色 | 丰满大乳少妇在线观看网站 | 黄色特级毛片 | 少妇超碰 | 天天干天天操天天射 | 天天噜夜夜噜 | 国产精品815.cc红桃 | 国产免费观看视频 | 人妻无码一区二区三区 | 国产又爽又色 | 国产在线观看一区二区三区 | 99热最新| 亚洲精品国产日韩 | 亚洲天堂av一区二区三区 | 丝袜ol美脚秘书在线播放 | 欧美一本在线 | 国产精品久免费的黄网站 | 美妇湿透娇羞紧窄迎合 | 宅男的天堂| 国产中文一区二区 | 中文字幕第 | 美女黄污网站 | 91精品国产综合久久久蜜臀粉嫩 | 帮我拍拍漫画全集免费观看 | 日韩精品视频观看 | 五月婷婷丁香 | 最近中文字幕免费 | 亚洲破处视频 | 性色影院 | 黑人玩弄人妻一区二 | 大香伊人中文字幕精品 | 亚洲av久久久噜噜噜噜 | 国产一区二区三区在线 | av网站免费观看 | 免费观看91视频 | 男女网站在线观看 | 天天爽夜夜爽 | 国产女上位 | 午夜久久久久久久久久 | 67194少妇在线观看 | 91精品国产综合久久香蕉922 | 少妇在线| 国产精品福利片 | 成人短视频在线免费观看 | 欧美一二三区在线观看 | 浪浪视频在线观看 | fee性满足he牲bbw| 九九视频免费在线观看 | 成年网站在线 | 国产伦精品一区二区 | 黄色三级网站在线观看 | 99er久久| 伊人黄网 | 黄色av小说在线观看 | 日韩黄色一级大片 | 国产在线免费视频 | 九久久久久| 日韩精品免费视频 | 中文字幕免费观看视频 | 麻豆av电影在线 | 国产乱视频 | 99热国产 | 精人妻一区二区三区 | 国产三级网| 射婷婷| 日本一区二区三区免费看 | 国产成人福利视频 | 一级片一级 | 一区二区精品久久 | 国产a黄 |