| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 735 人关注过本帖
标题:【归并排序】这个程序有问题。。[已解决]
只看楼主 加入收藏
子洋虾米
Rank: 1
来 自:哈尔滨市第九中学
等 级:新手上路
帖 子:79
专家分:0
注 册:2008-9-15
收藏
 问题点数:0 回复次数:8 
【归并排序】这个程序有问题。。[已解决]
--代码先暂时删除了--
我下午会再看看的..谢谢~
--代码先暂时删除了--


代码已完成
-测试通过-

2楼贴代码

[[it] 本帖最后由 子洋虾米 于 2008-10-4 15:23 编辑 [/it]]
搜索更多相关主题的帖子: 归并排序 
2008-10-03 11:57
子洋虾米
Rank: 1
来 自:哈尔滨市第九中学
等 级:新手上路
帖 子:79
专家分:0
注 册:2008-9-15
收藏
得分:0 
#include <stdio.h>
#include <conio.h>
int a[100];
int m,n,i,j;
int num,s;
int main()
{
/*1----------------------------------------------*/
    /*printf("input m:");
    scanf("%d",&m);
      printf("input n:");
      scanf("%d",&n);
        printf("m data:");
        for(i=1;i<=m;i++)
           scanf("%d",&a[i]);
        printf("n data:");
        for(i=1;i<=n;i++)
           scanf("%d",&a[m+i]);
    Hesort(1,m,n+m);
    for(i=1;i<=m+n;i++)
       printf("%d ",a[i]);
    getch();*/
/*1----------------------------------------------*/
/*标号为1的注释行内的语句,用来测试过程体Hesort*/
/*--hesort过程正确--*/

/*2----------------------------------------------*/
printf("input the num of all the data:");
  scanf("%d",&s);

printf("input all of the data:");
  for(i=1;i<=s;i++)
     scanf("%d",&a[i]);
SORT(1,s);
    for(i=1;i<=s;i++)
       printf("%d ",a[i]);
getch();
/*2----------------------------------------------*/
   
}


int SORT(int h,int r)/*对数据进行排序*/
{
    if(h!=r)
      {SORT(h,((r-h)/2)+h);/*前排序*/
       SORT((((r-h)/2)+h)+1,r); /*后排序*/
       Hesort(h,(h+(r-h)/2),r); /*归并*/
      }
}


int Hesort(int h,int mid,int r)/*对有序数列进行归并*/
{int k=h,c[100];
i=h;j=mid+1;
    while((i<=mid)&&(j<=r))
         {if(a[i]<a[j])
             {c[k]=a[i];
              k++;
              i++;         
             }
         else
            {c[k]=a[j];
            k++;
            j++;
            }
        }
    if(i>mid)
      for(i=j;i<=r;i++)
         {c[k]=a[i];
         k++;         
         }
    if(j>r)
      for(j=i;j<=mid;j++)
         {c[k]=a[j];
         k++;
         }
for(i=h;i<=r;i++)
   a[i]=c[i];
}

[[it] 本帖最后由 子洋虾米 于 2008-10-4 15:24 编辑 [/it]]
2008-10-03 11:58
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
为什么不能自己想办法呢??

还有,代码风格比较烂,希望下次注意

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-10-03 12:53
子洋虾米
Rank: 1
来 自:哈尔滨市第九中学
等 级:新手上路
帖 子:79
专家分:0
注 册:2008-9-15
收藏
得分:0 
已完成.

[[it] 本帖最后由 子洋虾米 于 2008-10-4 15:24 编辑 [/it]]
2008-10-03 14:02
smltq
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:566
专家分:400
注 册:2008-1-21
收藏
得分:0 
来晚了
2008-10-03 19:53
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
如果给我5分钟,我打不完归并排序。
lz既然是OIer, 其实搞定qsort就可以了,或者搞定heapsort。

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-10-04 12:29
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
没了...

2008-10-04 12:41
子洋虾米
Rank: 1
来 自:哈尔滨市第九中学
等 级:新手上路
帖 子:79
专家分:0
注 册:2008-9-15
收藏
得分:0 
[bo][un]卧龙孔明[/un] 在 2008-10-4 12:29 的发言:[/bo]

如果给我5分钟,我打不完归并排序。
lz既然是OIer, 其实搞定qsort就可以了,或者搞定heapsort。

qsort遇上某些数据有退化成O(n2)的风险,但是可以用随机化
heapsort也是需要掌握的
2008-10-04 15:26
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
[bo][un]子洋虾米[/un] 在 2008-10-4 15:26 的发言:[/bo]


qsort遇上某些数据有退化成O(n2)的风险,但是可以用随机化
heapsort也是需要掌握的


基本上不可能出现那种情况,理论上,qsort是几种基于比较的基本排序中最快的。
heapsort一般不用,不过heap的思想和这种结构是我们需要的,比如多区间取中位数等

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-10-04 16:38
快速回复:【归并排序】这个程序有问题。。[已解决]
数据加载中...
 
   



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

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