#include<stdio.h>
#define maxsize 100
typedef int ElemType;
typedef struct
{
ElemType elem[maxsize];
int last;
}SeqList;
void InitList(SeqList *L,int n)
{
int i;
for(i=0;i<n;i++)
scanf("%d",&L->elem[i]);
L->last=n;
}
ElemType GetData(SeqList L,int i)
{
for(i=0;i<L.last;i++)
return L.elem[i-1];
}
int Length(SeqList L)
{
return L.last;
}
void Display(SeqList L)
{
for(int i=0;i<L.last;i++)
{
printf("%d ",L.elem[i]);
}
printf("\n");
}
int Locate(SeqList L,ElemType e)
{
int i;
while((i<=L.last)&&(L.elem[i]!=e))
i++;
if(i<=L.last)
return (i+1);
else
return(-1);
}
void InsertList(SeqList *l,int pos,ElemType e)
{
int i;
for(i=l->last;i>=pos;i--)
l->elem[i]=l->elem[i+1];
l->elem[pos]=e;
l->last++;
}
void Union(SeqList *La,SeqList Lb)
{
int i;
ElemType e;
int lenA=Length(*La);
int lenB=Length(Lb);
for(i=1;i<=lenB;i++)
{
e=GetData(Lb,i);
if(0==Locate(*La,e))
{
InsertList(La,lenA,e);
lenA++;
}
}
}
void main()
{
SeqList LA,LB;
InitList(&LA,3);
Display(LA);
InitList(&LB,4);
Display(LB);
Union(&LA,LB);
Display(LA);
}