线性表
#include<iostream>
#define N 105
using namespace std;
typedef struct
{
int elem[N];
int len;
}sqlist;
void init(sqlist &list )
{
list.len=0;
}
void create(sqlist &list )
{
int n,i,x;
cin>>n;
list.len=n;
for(i=0;i<n;i++)
{
cin>>x;
list.elem[i]=x;
}
}
void disp(sqlist list)
{
int i;
cout<<list.elem[0];
for(i=1;i<list.len;i++)
cout<<" "<<list.elem[i];
cout<<endl;
}
void insert(sqlist &list,int x,int y)
{
list.elem[x]=y;
list.len++;
}
void unio( sqlist listla ,sqlist listlb ,sqlist &listlc)
{
int i,j,k;
init(listlc);
i=j=k=0;
while(i<listla.len&&j<listlb.len)
{
if(listla.elem[i]<=listlb.elem[j])
{
insert(listlc,k,listla.elem[i]);
i++;
}
else
{
insert(listlc,k,listlb.elem[j]);
j++;
}
k++;
}
while(i<listla.len)
{
insert(listlc,k,listla.elem[i]);
i++;
k++;
}
while(j<listlb.len)
{
insert(listlc,k,listlb.elem[j]);
j++;
k++;
}
}
void inser(sqlist &list ,int x)
{
int i;
for(i=list.len-1;i>=0;i--)
if( list.elem[i]>x) list.elem[i+1]=list.elem[i];
else break;
list.elem[i+1]=x;
list.len++;
}
void re( sqlist &list )
{
int i,j;
for(i=0,j=list.len-1;i<=j;i++,j--)
swap(list.elem[i],list.elem[j]);
}
int main()
{
int cas,m,n,x;
sqlist listla,listlb,listlc;
create(listla);
create(listlb);
unio(listla,listlb,listlc);
//cin>>cas;
/*while(cas--)
{
init(list);
cin>>m;
for(int i=0;i<m;i++)
{
cin>>n;
insert(list,i,n);
}
cin>>x;
inser(list,x);*/
//re(list);
disp(listla);
disp(listlb);
disp(listlc);
return 0;
}