#include <iostream>
using namespace std;
#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef int ElemType;
typedef int Status;
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
Status InitList(LinkList &L)
{
L=new LNode;
L->next=NULL;
return OK;
}
Status GetElem(LinkList L,int i,ElemType &e)
{
LinkList p;
p=L->next;
int j=1;
while(p&&j<i)
{
p=p->next;
++j;
}
if(!p||j>i)
return ERROR;
e=p->data;
return OK;
}
LNode *LocateElem(LinkList L,ElemType e)
{
LinkList p;
p=L->next;
while(p&&p->data!=e)
p=p->next;
return p;
}
Status ListInsert(LinkList &L,int i,ElemType e)
{
LinkList s;
LinkList p=L;
int j=0;
while(p&&(j<i-1))
{
p=p->next;
++j;
}
if(!p||j>i-1)
{
return ERROR;
}
s=new LNode;
s->data=e;
s->next=p->next;
p->next=s;
return OK;
}
Status ListDelete(LinkList &L,int i)
{
LinkList p=L;
int j=0;
while((p->next)&&(j<i-1))
{
p=p->next;
++j;
}
if(!(p->next)||(j>i-1))
return ERROR;
LinkList q=p->next;
p->next=q->next;
delete q;
return OK;
}
void CreateList_H(LinkList &L,int n)
{
LinkList p;
L=new LNode;
L->next=NULL;
for(int i=0;i<n;++i)
{
p=new LNode;
cin>>p->data;
p->next=L->next;
L->next=p;
}
}
void CreateList_R(LinkList &L,int n)
{
LinkList p;
L=new LNode;
L->next=NULL;
LinkList r=L;
for(int i=0;i<n;++i)
{
p=new LNode;
cin>>p->data;
p->next=NULL;
r->next=p;
r=p;
}
}
void MergeList_L(LinkList &LA,LinkList &LB,LinkList &LC)
{
struct LNode *pa,*pb,*pc;
pa=LA->next;
pb=LB->next;
LC=LA;
pc=LC;
while(pa&&pb)
{
if(pa->data<=pb->data)
{
pc->next=pa;
pc=pa;
pa=pa->next;
}
else
{
pc->next=pb;
pc=pb;
pb=pb->next;
}
}
pc->next=pa?pa:pb;
delete LB;
}
int main()
{
int n;
LinkList LA,LB,LC,p,q;
cout<<"输入创建链表A的个数:";
cin>>n;
cout<<"请从大到小输入:";
CreateList_H(LA,n);
cout<<"输入创建链表B的个数:";
cin>>n;
cout<<"请从小到大输入";
CreateList_R(LB,n);
p=LB->next;
InitList(LC);
MergeList_L(LA,LB,LC);
cout<<"两链表合并后为:";
p=LC->next;
while(p)
{
cout<<p->data<<' ';
p=p->next;
}
cout<<endl;
return 0;
}
03-14
1229
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
03-13
2382
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)