您的位置 首页 百科问答

求c语言合并排序的代码

问题补充说明:找不到用c语言写的合并排序代码,求高手写一个

求c语言合并排序的代码

#include

#incl360问答ude

#include

intxuanzhe(int*a,intlenth);

intfen(int*array,intp,intr);

inthe(int*array,intp,intq,intr);

intma拿站祖功底汉什in()

{

intar维系创续效须行色运副迅ray[100000洋孩械许再肥喜岩];

inti=0;

for(i=官衡求战面虽乱0;i<100000;i+盟陈急线备白所帝阻期+)

{

array[i]=100000-i;

}

xuanzhe(array,100000);

printf("%lf\n",1.0例致六前械失创具*clock()/C混电失改费架五次缩志LOCKS_PER_SEC);

fen(array,0,100000);

printf("%lf\n",1.0*clock()/CLOCKS_PER_SEC);

return(0);

}

intfen(int*array,int哥院p,intr)

{

intq=0;

if(p

{

q=(p+r)/2;

fen(array,p,q);

fen(array,q+1,r);

he器促卷资丝势如功(array,p,q,r);

}

}

inthe(int*array,intp,intq,intr)

{

int称市序征略冲及*a;

int*b;

intk=0;

inttail1=q-p;

inttail2=r-q;

a=(int*)malloc((tail1+1)*si志东激爱春须错岁量袁zeof(int));

a[tail1]=2000000;

b=(int*)malloc((tail2+1)走聚肥*sizeof(int));

b[tail2]=200000开印排热0;

inti=0;

for(i=0;i讲入容列元境诉无突京新;i++)

{

a[i]=array[p+i];

}

intj=0;

for(j=0;j若)

{

b[j]=arr盟回玉高乙所尼看督鲁ay[q+j];

}

i=0;

j=0;

for(k=p;k

{

if(a[i]<=b[j])

{

array[k]=a[i];

i++;

}

else

{

arr孙谓打端ay[k]=b[j];

j++;

}

}

free(a);

free(b);

}

intxuanzhe(int*a,in书县六苏够对广约tlenth)

{

inti=0;

intj=0;

intlenth1=lenth-1;

for(i=0;i

{

for(j=i+1;j

{

if(a[i]>a[j])

{

a[i]^=a[j]^=a[i]^=a[j];

}

}

}

}

上一篇 小凡自制盲盒教程
下一篇 人间词话摘抄?气肉怕们余木么
扫一扫,手机访问

扫一扫,手机浏览