c語言中使用自帶的qsort(結構體排序) 快排

2021-09-12 10:16:51 字數 1532 閱讀 9482

c中沒有自帶的sort函式emm

不過有自帶的qsort函式

(其實用法都差不多(只是我經常以為c中有sort

標頭檔案要用

1 #include

一定要重新把指標指向的值賦值給乙個node型別,不然比較不了

1

struct

nodea[n];45

int cmp(const

void *x,const

void *y)

1011 qsort(a+1,n,sizeof(a[1]),cmp);//

呼叫 排序a[1]~a[1+n]

這裡貼乙個**,實現的功能是給定乙個陣列(陣列中每個數不一樣),然後輸入一些數,問你這些數在陣列中的位置(從0開始編號)

(其實是我看錯題的產物(寫都寫了(就是實現一下離散化而已,當個小例子看吧

1 #include 2 #include 

3 #include 4

5#define n 2*10001067

struct

nodea[n];

10int

b[n],q[n],ans[n];

1112

int cmp(const

void *x,const

void *y)

1718

intmain()

1929 scanf("

%d",&m);

30for(int i=1;i<=m;i++)

3137 qsort(a+1,n+m,sizeof(a[1

]),cmp);

38int now=0,p=0;39

for(int i=1;i<=n+m;i++)

4045

for(int i=1;i<=n+m;i++)

4649

for(int i=1;i<=m;i++)

50 printf("

%d\n

",ans[i]-1

);51

return0;

52 }

還寫了乙個純排序的**,非結構體的。手寫快排,或者用系統自帶qsort

1 #include2 #include

3 #include4

5int n,a[100010];6

void quicksort(int a,int l,intr)7

17 a[i]=key;

18 quicksort(a,l,i-1

);19 quicksort(a,i+1

,r);20}

2122

23int cmp(const

void *x,const

void *y)

2930

intmain()

31

posted @

2018-11-20 11:15

攔路雨偏似雪花 閱讀(

...)

編輯收藏

c語言中使用自帶的qsort(結構體排序) 快排

c中沒有自帶的sort函式emm 不過有自帶的qsort函式 其實用法都差不多 只是我經常以為c中有sort 標頭檔案要用 1 include 一定要重新把指標指向的值賦值給乙個node型別,不然比較不了 1 struct nodea n 45 int cmp const void x,const ...

C語言中使用系統自帶的快排函式

題目 1015.德才論 25 宋代史學家司馬光在 資治通鑑 中有一段著名的 德才論 是故才德全盡謂之聖人,才德兼亡謂之愚人,德勝才謂之君子,才勝德謂之小人。凡取人之術,苟不得聖人,君子而與之,與其得小人,不若得愚人。現給出一批考生的德才分數,請根據司馬光的理論給出錄取排名。輸入格式 輸入第1行給出3...

c語言中的qsort方法的使用

c語言類庫中自帶了快速排序演算法qsort。用 法 void qsort void base,int nelem,int width,int fcmp const void const void 舉例說明 1 一維的陣列排序 int a 1000 qsort a,1000,sizeof int co...