为什么程序的不到结果 归并排序与插入排序的结合版

金科苦行僧 2016-01-13 11:53:32
试了一下 N的值为103一下都是可以的超过了103就算不出来了
#define N 150
#include <stdio.h>
void insertion_merge_sort(int array[],int p,int r);
void insertion_sort_merge(int array[],int p,int r);
int main(void)
{
int i;
int array[N];
for(i=0;i<N;i++)
{
array[i]=i;
}
insertion_merge_sort(array,1,N);
for(i=0;i<N;i++)
{
printf("%d\n",array[i]);
}
return 0;
}
void insertion_merge_sort(int array[N],int p,int r)
{
if((p-r)>=7)
{
int q=(p+q)/2;
insertion_merge_sort(array,p,q);
insertion_merge_sort(array,q+1,r);
merge(array,p,q,r);
}
insertion_sort_merge(array,p,r);
}
void insertion_sort_merge(int array[N],int p,int r)
{
int j;
int i;
int key;
for(j=p;i<r;i++)
{
key=array[j];
i=j-1;
while(i>=0&&array[i]>key)
{
array[i+1]=array[i];
i=i-1;
}
array[i+1]=key;
}
}
...全文
149 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

33,009

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧