| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 994 人关注过本帖
标题:将N个数据按照从小到大的顺序排列。问题出在哪里?
取消只看楼主 加入收藏
粉jj
Rank: 2
等 级:论坛游民
威 望:1
帖 子:123
专家分:82
注 册:2011-3-8
结帖率:85.11%
收藏
 问题点数:0 回复次数:1 
将N个数据按照从小到大的顺序排列。问题出在哪里?
#define N 5
int R[N+5+1],d[4]={5,3,1,0};
SHELLSORT(int R[],int d[])
{int i,j,k=0,h,temp,maxint=32767;
for(i=0;i<d[0];i++)
R[i]=-maxint;
do{h=d[k];
for(i=h;i<N+5;i++)
{temp=R[i];
j=i-h;
while(temp<R[j+h])
{R[j+h]=R[j];j=j-h;}
R[j+h]=temp;
}
k++;}while(h!=1);}

main()
{int i;
for(i=1;i<=N;i++)
scanf("%d",&R[i+5+1]);SHELLSORT(R,d);
for(i=d[0];i<d[0]+N;i++)
printf("%d",R[i]);


           getch();}
2011-05-17 16:52
粉jj
Rank: 2
等 级:论坛游民
威 望:1
帖 子:123
专家分:82
注 册:2011-3-8
收藏
得分:0 
#define N 5
int R[N+5+1],d[4]={5,3,1,0};
SHELLSORT(int R[],int d[])
{
    int i,j,k=0,h,temp,maxint=32767;
     for(i=0;i<d[0];i++)
        R[i]=-maxint;
  do
   {
        h=d[k];
          for(i=h;i<N+5;i++)
          {  
              temp=R[i];
                 j=i-h;
                  while  (temp<R[j+h])
                     {   R[j+h]=R[j];j=j-h;  }
              R[j+h]=temp;
           }
         k++;
    }while(h!=1);
}

main()
{int i;
for(i=1;i<=N;i++)
scanf("%d",&R[i+5+1]);
SHELLSORT(R,d);
for(i=d[0];i<d[0]+N;i++)
  printf("%d",R[i]);
           getch();}
2011-05-17 22:00
快速回复:将N个数据按照从小到大的顺序排列。问题出在哪里?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034939 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved