利用顺序表求两个集合的并集
#include <iostream>
using namespace std;
const int MaxSize=100;
template <class T>
class seqlist
{
public:
//seqlist();
seqlist(T a[],int n);
//~seqlsit();
int Length()
{
return length;
}
T Get(int i);
int Locate(T x);
void Insert(int i,T x);
void Delete(int i);
void Printlist();
private:
T data[MaxSize];
int length;
};
template<class T>
seqlist<T>::seqlist(T a[],int n) //构造函数
{
int i;
if(n>MaxSize)
cout<<"参数非法";
for(i=0; i<n; i++)
data[i]=a[i];
length=n;
}
template<class T>
T seqlist<T>::Get(int i) //按值查找
{
if(i>=1&&i<=length)
{
return data[i-1];
}
else return 999;
}
template<class T>
int seqlist<T>::Locate(T x)
{
for(int i=0; i<length; i++)
if(data[i]==x)
return i+1;
return 999;
}
template<class T>
void seqlist<T>::Insert(int i,T x) //插入函数
{
int j;
if(length>=MaxSize)
cout<<"上溢";
if(i<1||i>length+1)
cout<<"位置";
for(j=length; j>=i; j--)
{
data[j]=data[j-1];
}
data[i-1]=x;
length++;
}
template<class T>
void seqlist<T>::Delete(int i) //删除函数
{
int x;
int j;
if(length==MaxSize)
cout<<"溢出";
if(i<1||i>length)
cout<<"位置";
x=data[i-1];
for(j=i; j<length; j++)
data[j-1]=data[j];
length--;
cout<<x;
}
template<class T>
void seqlist<T>::Printlist()
{
cout << "length=" << length << endl;
int i;
for(i=0; i<length; i++)
cout<<data[i]<<" ";
}
int main()
{
int b[100],i,n,c,p[100],j,m,x;
cout<<"集合A的元素个数及元素"<<endl;
cin>>n;
for(i=0;i<n;i++)
{
cin>>c;
b[i]=c;
}
seqlist<int> list(b,n);
list.Printlist();
cout<<endl<<"集合B的元素个数及元素"<<endl;
cin>>m;
for(j=0;j<m;j++)
{
cin>>x;
p[j]=x;
}
seqlist<int> List(p,m);
List.Printlist();
for(int t=1;t<=n;t++)
{
if(List.Locate(list.Get(t))==999)
{
List.Insert(1,list.Get(t));
}
}
List.Printlist();
//cin>>i;
//if(list.Get(i)<999)
//{cout<<list.Get(i);}
//else cout<<"查找位置超限";
}
```![在这里插入图片描述](https://img-blog.csdn.net/20181020131624443?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzAxMDgzOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
![在这里插入图片描述](https://img-blog.csdn.net/20181020131612544?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzAxMDgzOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)