设有已按从小到大顺序排列的数组A、B,将他们合并成一个从小到大顺序排列的数组C。 5

 我来答
百度网友f3ea6ed
2005-11-22 · TA获得超过1751个赞
知道小有建树答主
回答量:997
采纳率:0%
帮助的人:968万
展开全部
//我用C++写的程序,不知符合不符合你的要求

#include <iostream.h>

//define two arrays
int A[3] = {1,4,8};
int B[4] = {2,4,5,9};

int AppendByOrder(int a[],int b[],int m, int n,int c[])
{
//m indicate the number of a's elements
//also n indicate the number if b 's elements

int total = m + n;
//c = new int[total];
int p = 0;
int q = 0;
for (int i = 0; i < total;i++)
{
if(a[p]<b[q]){
c[i] = a[p++];
if( p == m)
break;
}
else
{
c[i] = b[q++];
if(q == n)
break;
}
}
i++;
if(p==m)
for(;i<total;i++)
c[i] = b[q++];
if(q==n)
for(;i<total;i++)
c[i] = a[p++];
return 1;//successful
}

int Print(int a[],int n)
{
for(int i = 0;i<n;i++)
cout<<a[i]<<'\t';
return 1;
}

int main()
{
int C[10];
AppendByOrder(A,B,3,4,C);
Print(C,3+4);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2005-11-22
展开全部
挺简单啊,将A或者B其中一个数组复制出来,两个两相比较排序,就成了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangguo2005
2005-11-22 · TA获得超过2981个赞
知道小有建树答主
回答量:125
采纳率:100%
帮助的人:89.9万
展开全部
buaa_sheng 写得很不错,把分数给他!不过不够通用,何必去除动态数组呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
折翅依旧想飞
2005-11-22 · TA获得超过2864个赞
知道大有可为答主
回答量:2049
采纳率:0%
帮助的人:1701万
展开全部
不知道你是用什么语音怎么答?
先吧两个数组组合成数组c,然后再排序就可以了,,
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2cd4375a6
2005-11-22 · 贡献了超过177个回答
知道答主
回答量:177
采纳率:0%
帮助的人:0
展开全部
cv
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式