#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstdlib>
using namespace std;
#define OK 1
#define ERROR 0
#define MAXSIZE 100
typedef int ElemType;
typedef struct
{
ElemType *elem;
int length;
}SqList;
void InitList(SqList &L)
{
cin>>L.length;
L.elem=new ElemType[L.length];
for(int i=0;i<L.length;i++)
{
cin>>L.elem[i];
}
}
void MergeList(SqList &LA,SqList &LB,SqList &LC)
{
LC.length=LA.length+LB.length;
LC.elem=new ElemType[LC.length];
ElemType *pa,*pb,*pc;
ElemType *pa_last,*pb_last;
pa=LA.elem;
pb=LB.elem;
pc=LC.elem;
pa_last=LA.elem+LA.length-1;
pb_last=LB.elem+LB.length-1;
while(pa<=pa_last&&pb<=pb_last)
{
if(*pa<=*pb)
{
*pc++=*pa++;
}
else
{
*pc++=*pb++;
}
}
while(pa<=pa_last) *pc++=*pa++;
while(pb<=pb_last) *pc++=*pb++;
}
void display(SqList L)
{
for(int i=0;i<L.length;i++)
{
printf("%d ",L.elem[i]);
}
printf("\n");
}
int main()
{
SqList A,B,C;
InitList(A);
InitList(B);
MergeList(A,B,C);
cout<<"List A:";
display(A);
cout<<"List B:";
display(B);
cout<<"List C:";
display(C);
return 0;
}
合并顺序表,数据结构,scau
最新推荐文章于 2025-06-12 20:17:45 发布