#include<iostream>
using namespace std;
#define MAXSIZE 100
typedef struct
{
int *elem;
int length;
}SqList;
int InitList_Sq(SqList &L) {
L.elem=new int[MAXSIZE];
if(!L.elem) exit(-2);
L.length = 0;
return 1;
}
void ListIn(SqList &L,int n) {
int i;
cout<<"请输入"<<n<<"个数:\n";
for(int i=0;i<n;i++) {
cin>>L.elem[i];
}
cout<<endl;
L.length = n;
}
bool Locate(SqList L,int e) {
for(int i=0;i<L.length;i++) {
if(e=L.elem[i]) {
return true;
}
}
return false;
}
void Insert(SqList &L,int e) {
int j= L.length;
L.elem[j]=e;
L.length++;
}
void ListOut(SqList L) {
for(int i=0;i<L.length;i++) {
cout<<L.elem[i]<<" ";
}
cout<<endl;
}
void Union(SqList &LA,SqList LB) {
for(int k=0;k<LB.length;k++) {
if(!Locate(LA,LB.elem[k]))
Insert(LA,LB.elem[k]);
}
}
int main()
{
int n,m;
SqList LA,LB;
InitList_Sq(LA);
InitList_Sq(LB);
cout<<"请输入线性表LA的元素个数:";
cin>>n;
ListIn(LA,n);
ListOut(LA);
cout<<"请输入线性表LB的元素个数:";
cin>>m;
ListIn(LB,m);
ListOut(LB);
Union(LA,LB);
ListOut(LA);
return 0;
}
using namespace std;
#define MAXSIZE 100
typedef struct
{
int *elem;
int length;
}SqList;
int InitList_Sq(SqList &L) {
L.elem=new int[MAXSIZE];
if(!L.elem) exit(-2);
L.length = 0;
return 1;
}
void ListIn(SqList &L,int n) {
int i;
cout<<"请输入"<<n<<"个数:\n";
for(int i=0;i<n;i++) {
cin>>L.elem[i];
}
cout<<endl;
L.length = n;
}
bool Locate(SqList L,int e) {
for(int i=0;i<L.length;i++) {
if(e=L.elem[i]) {
return true;
}
}
return false;
}
void Insert(SqList &L,int e) {
int j= L.length;
L.elem[j]=e;
L.length++;
}
void ListOut(SqList L) {
for(int i=0;i<L.length;i++) {
cout<<L.elem[i]<<" ";
}
cout<<endl;
}
void Union(SqList &LA,SqList LB) {
for(int k=0;k<LB.length;k++) {
if(!Locate(LA,LB.elem[k]))
Insert(LA,LB.elem[k]);
}
}
int main()
{
int n,m;
SqList LA,LB;
InitList_Sq(LA);
InitList_Sq(LB);
cout<<"请输入线性表LA的元素个数:";
cin>>n;
ListIn(LA,n);
ListOut(LA);
cout<<"请输入线性表LB的元素个数:";
cin>>m;
ListIn(LB,m);
ListOut(LB);
Union(LA,LB);
ListOut(LA);
return 0;
}