您的位置 首页 > 娱乐休闲

C语言 归并排序

#include<;

#define LEN 8

int a[LEN]={5,2,4,7,1,3,2,6};

int tempa[LEN];

void merge(int a[],int tempa[],int left,int right,int rightend)

{

int i,temp;

int leftend=right-1;

int num=rightend-left+1;

temp=left;

while(left<=leftend&&right<=rightend)

{

if(a[left]<a[right])

{

tempa[temp++]=a[left++];

}

else

{

tempa[temp++]=a[right++];

}

}

while(left<=leftend)

{

tempa[temp++]=a[left++];

}

while(right<=rightend)

{

tempa[temp++]=a[right++];

}

for(i=0;i<num;i++,rightend--)

{

a[rightend]=tempa[rightend];

}

}

void sort(int a[],int tempa[],int left,int right)

{

int mid;

if(left<right)

{

mid=(left+right)/2;

sort(a,tempa,left,mid);

sort(a,tempa,mid+1,right);

merge(a,tempa,left,mid+1,right);

}

}

int main()

{

sort(a,tempa,0,7);

for(int i=0;i<LEN;++i)

{

printf("%d,",a[i]);

}

return 0;

}

本人是编程小白,程序如果有问题,求教各位大神指出

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何对语言单位进行归并,语言单位的归并,语言单位的切分和归并,语言单位的归并原则”边界阅读