c++试编写一程序实现把两个递增排列的数组A和B归并到数组C中,且仍以递增排列。

数组要自己输入... 数组要自己输入 展开
 我来答
xoaxa
2014-02-05 · TA获得超过8610个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3472万
展开全部

/*

输入a[]的5个元素:12 23 34 45 56

输入b[]的5个元素:32 43 54 25 67

12 23 25 32 34 43 45 54 56 67

Press any key to continue

*/

#include <stdio.h>
 
void MergeArr(int a[],int m,int b[],int n) {
    int i,j,k,flag;
    for(i = 0; i < n; ++i) {
        flag = 1;
        for(j = 0; j < m; ++j) {
            if(b[i] < a[j]) {
                for(k = m; k > j; --k)
                    a[k] = a[k - 1];
                a[j] = b[i];
                flag = 0;
                break;
            }
        }
        if(flag) a[m] = b[i];
        ++m;
    }
}
 
int main() {
    int a[10],b[5];
    int i,m = 5,n = 5;
printf("输入a[]的%d个元素:",m);
for(i = 0; i < m; ++i)
scanf("%d",&a[i]);
printf("输入b[]的%d个元素:",n);
for(i = 0; i < n; ++i)
scanf("%d",&b[i]);
    MergeArr(a,m,b,n);
    for(i = 0; i < m + n; ++i) 
        printf("%d ",a[i]);
    printf("\n");
    return 0;
}
clevereee
2014-02-05 · TA获得超过4.8万个赞
知道大有可为答主
回答量:7730
采纳率:85%
帮助的人:3580万
展开全部
S1向量输入AB
S2在放在一起
S3排序
S4删除重复数据
S5cout
不明白欢迎来追问!
望采纳,多谢了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xueyxbd
推荐于2018-05-07 · 超过10用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:20.6万
展开全部
//简单写了下,只表明思路,需要自己再做完善
#define ARRAY_NUM 10
int main()
{
int a1,a2,a3;
int a[ARRAY_NUM],b[ARRAY_NUM],c[ARRAY_NUM*2];//假定此处各数组中内容已初始完成
a1=ARRAY_NUM;
a2=ARRAY_NUM;
a3=ARRAY_NUM-1;
while(a3>-1)
{
(a[a1]<b[a2])?c[a3]=b[a2],a3--,a2-- : c[a3]=a[a1],a3--,a1--;
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
FeelitJ
2014-02-05 · 超过11用户采纳过TA的回答
知道答主
回答量:124
采纳率:0%
帮助的人:39万
展开全部
这个是mergSort排序法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式