请问用C++怎样合并两个数组
5个回答
推荐于2017-11-24
展开全部
我想要合并成一个数组一定还要按顺序重新排一遍,不管以前是否排序。要合并可以采用循环赋值的方法吧,原来两个数组假定为a[10],b[10],合并的为c[],排好序的a中肯定不重复,直接放入c中,可用:int t;
for(t=0;t<10;t++) c[t]=a[t];对b中元素进行检验,若与a不重复,继续放入。
bool flag=true;
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
if(b[i]==a[j])
flag=false;
if(flag)
c[t++]=b[i];
}
数组元素都放入后对c[]排序就行了。
另外,站长团上有产品团购,便宜有保证
for(t=0;t<10;t++) c[t]=a[t];对b中元素进行检验,若与a不重复,继续放入。
bool flag=true;
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
if(b[i]==a[j])
flag=false;
if(flag)
c[t++]=b[i];
}
数组元素都放入后对c[]排序就行了。
另外,站长团上有产品团购,便宜有保证
展开全部
#include <iostream>
using namespace std;
int main(void)
{
int i=0,a[10]={2,3,5,6,7,9,10,11,13,14};
int j=0,b[10]={1,2,4,6,7,10,11,12,13,16};
int k=0,c[20];
while(i < 10 && j < 10)
{
if(a[i]>b[j])
{
c[k]=b[j];
j++;
k++;
}
else if(a[i]==b[j])
{
c[k]=a[i];
i++;
j++;
k++;
}
else
{
c[k]=a[i];
i++;
k++;
}
}
while(i<10)
{
c[k]=a[i];
k++;
i++;
}
while(j<10)
{
c[k]=b[j];
j++;
k++;
}
cout<<"合并后的数组为:";
for(i=0;i<k;i++)
{
cout<<c[i]<<" ";
}
cout<<endl;
system("pause");
return 0;
}
using namespace std;
int main(void)
{
int i=0,a[10]={2,3,5,6,7,9,10,11,13,14};
int j=0,b[10]={1,2,4,6,7,10,11,12,13,16};
int k=0,c[20];
while(i < 10 && j < 10)
{
if(a[i]>b[j])
{
c[k]=b[j];
j++;
k++;
}
else if(a[i]==b[j])
{
c[k]=a[i];
i++;
j++;
k++;
}
else
{
c[k]=a[i];
i++;
k++;
}
}
while(i<10)
{
c[k]=a[i];
k++;
i++;
}
while(j<10)
{
c[k]=b[j];
j++;
k++;
}
cout<<"合并后的数组为:";
for(i=0;i<k;i++)
{
cout<<c[i]<<" ";
}
cout<<endl;
system("pause");
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a[3]={1,2,3};
int b[4] ={4,5,6,7};
int c[7];
memcpy(c,a,3*sizeof(int));
memcpy(c+3,b,4*sizeof(int));
int b[4] ={4,5,6,7};
int c[7];
memcpy(c,a,3*sizeof(int));
memcpy(c+3,b,4*sizeof(int));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
新建一个数组把两个数组都装进去。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询