4个回答
展开全部
/*
输入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;
}
展开全部
S1向量输入AB
S2在放在一起
S3排序
S4删除重复数据
S5cout
不明白欢迎来追问!
望采纳,多谢了!
S2在放在一起
S3排序
S4删除重复数据
S5cout
不明白欢迎来追问!
望采纳,多谢了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//简单写了下,只表明思路,需要自己再做完善
#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--;
}
}
#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--;
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个是mergSort排序法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询