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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

qsort函数排序

發(fā)布時(shí)間:2024/1/1 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 qsort函数排序 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

標(biāo)題qsort函數(shù)排序##

qsort是庫(kù)函數(shù)要引頭文件#include<stdlib.h> qsort有四個(gè)參數(shù),qsort(arr,sz,sizeof(arr[0],my_cmp);
第一個(gè)參數(shù)是起始位置(一般用數(shù)組名)
第二個(gè)參數(shù)是數(shù)組有多少個(gè)元素,一般用int=sz=sizeof(arr)/sizeof(sizeof(arr[0]);sizeof(數(shù)組名)求出數(shù)組的大小,單位是字節(jié),sizeof(arr[0])這是求出第一個(gè)的大小,事實(shí)上求數(shù)組中的哪一個(gè)元素都可以,因?yàn)閿?shù)組是一類相同類型的集合。所以他們相除算出的是數(shù)組元素個(gè)數(shù)。
第三個(gè)參數(shù)是數(shù)組每個(gè)元素的大小,也可以用sizeof(數(shù)組的類型)來(lái)計(jì)算。
第四個(gè)參數(shù)是函數(shù)的排列比較,就是寫一個(gè)比較函數(shù)。這個(gè)函數(shù)的形式是
int(const void* a,const void* b);
其中void他是不確定類型的指類型的指針,可以接受任意類型變量的地址,如int a=10;void p=&a;char b=‘w’;void* pa=&b;但是對(duì)于void類型的指針,因?yàn)樗淮_定類型,所喲對(duì)他進(jìn)行++ --都是錯(cuò)誤的操作,比如上述p++、pa++,P–等都是err寫法,因?yàn)轭愋筒淮_定導(dǎo)致程序不知道向前或向后訪問(wèn)幾個(gè)字節(jié)(int向后訪問(wèn)4字節(jié),char向后訪問(wèn)1字節(jié))。
下面來(lái)具體實(shí)現(xiàn)一個(gè):
#include<stdlib.h>
#include<stdio.h>
**int int_cmp(const voida,const voidb) //函數(shù)實(shí)現(xiàn)
{
return (int )a-(int)b;
}//升序
//其中(int),為將void強(qiáng)制轉(zhuǎn)化(int)
//return (int)b-(int)a;//降序
int main( ) //整形排序
{
int arr[]={1,3,4,5,6,9,7,8,0,2};
int sz=sizeof(arr)/sizeof(arr[0]);
qsort(arr,sz,sizeof(int),int_cmp);
int i=0;
for(i=0;i<sz;i++)
{
printf("%d ",(arr+i));//打印每一個(gè)元素(arr+i)等價(jià)于arr[i]
}
return 0;
}

總結(jié)

以上是生活随笔為你收集整理的qsort函数排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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