| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1815 人关注过本帖
标题:[求助]已知两个升序序列,将它们合并成一个升序序列并输出
只看楼主 加入收藏
zero442
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-5-26
收藏
 问题点数:0 回复次数:2 
[求助]已知两个升序序列,将它们合并成一个升序序列并输出
已知两个升序序列,将它们合并成一个升序序列并输出
我思考拉!应该有两种方法啊!
一种是判断两个序列的元素,两个元素中小的就先进新的数组,一直判断完两个序列为止。
另一种是把两个数列合并,再用徘序法啊!
由于我初学还写不出程序啊!就想大家帮帮忙啊!写个程序给小弟!
而且我还想知道两种方法哪个更好啊!运行的快!或者有更好的方法啊!

搜索更多相关主题的帖子: 序列 输出 
2006-08-27 11:21
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 

你第一种思路就是归并排序,示例按从小到大排,需要归并的两个数组已经按从小到大排序完毕

int* merge(int* list1,int list1_length,int* list2,list2_length)
{
int new_list[list1_length+list2_length];
int i,j,k;
i=0;j=0;k=0;
while (i<list1_length && j<list2_length)
{
if (list1[i]<list2[j])
new_list[k++]=list1[i++];
if (list1[i]==list2[j])
{
new_list[k++]=list1[i++];
new_list[k++]=list2[j++];
}
if (list1[i]>list2[j])
new_list[k++]=list2[j++];
}

while (i<list1_length)
new_list[k++]=list1[i++];

while (j<list2_length)
new_list[k++]=list2[j++];

return new_list;
}


个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2006-08-27 13:18
zero442
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-5-26
收藏
得分:0 

那第二种方法啊!能不能也写个给我啊!


还是不知道怎么会有这样的想法,但是我永远之爱你一个!!
2006-08-27 18:43
快速回复:[求助]已知两个升序序列,将它们合并成一个升序序列并输出
数据加载中...
 
   



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

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