将两个数组中的元素放入另一数组中,且删除相同元素
怎样将两个数组中的元素放入另一数组中,且删除相同元素?比如:
int a[5]={1,2,3,4,5};
int b[4]={4,5,6,7};
另外有个数组c[];
怎么样,才能使c[]={1,2,3,4,5,6,7}
除了归并排序。我所说的c[]数组,不一定要排序的,只要存放所有a[]、b[]数组所有元素,且没有相同元素就行。
[此贴子已经被作者于2006-3-10 10:17:04编辑过]
我找到了一种,将两个数组元素,放入一个新数组里的方法,请各位指教。
#include<iostream.h>
template <class T>
T* ArrayLink(T *a,T *b,int asize,int bsize)
{
int n=asize+bsize-1;
T *nArray=new T[n+1];
while(((n<bsize)?*nArray++=*b++:*nArray++=*a++),n--);
return nArray-(asize+bsize);
}
void main()
{
int a[3]={11,13,15},b[5]={21,24,23,27,29},*x=ArrayLink(a,b,sizeof(a)/4,sizeof(b)/4);
//cout<<sizeof(a)/3<<","<<sizeof(b)/5<<endl;
int n=8;
while(n--)
cout<<*x++<<endl;
delete [] (x-8);
}
[此贴子已经被作者于2006-3-10 15:45:38编辑过]