- 不允许额外申请结点空间
- 可将LC = LA
#include<iostream>
using namespace std;
typedef struct Node
{
int data;
struct Node *next;
}Node, *Linklist;
void Init(Linklist *L)
{
*L = new Node;
(*L)->next = NULL;
}
void fromend(Linklist L)
{
Node *r, *s;
int a;
r = L;
cin >> a;
while(a != -1)
{
s = new Node;
s->data = a;
r->next = s;
r = s;
cin >> a;
}
r->next = NULL;
}
void outplist(Linklist L)
{
Node *s;
s = L;
while(s->next != NULL)
{
cout << s->next->data << " ";
s = s->next;
}
}
Linklist haha(Linklist LA, Linklist LB)
{
Linklist LC;
Node *pa, *pb, *r;
pa = LA->next;
pb = LB->next;
LC= LA;
LC->next = NULL;
r = LC;
while(pa != NULL && pa != NULL)
{
if(pa->data <= pb->data)
{
r->next = pa;
r = pa;
pa = pa->next;
}
else
{
r->next = pb;
r = pb;
pb = pb->next;
}
}
if(pa)
r->next = pa;
else r->next = pb;
free(LB);
outplist(LC);
return 0;
}
int main()
{
Linklist LA, LB;
Init(&LA);
Init(&LB);
fromend(LA);
fromend(LB);
haha(LA,LB);
return 0;
}