PS: 来源2014年数据结构联考复习指导 Page27.
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
const int END_INPUT = -1;
typedef struct LNode {
int data;
struct LNode *next;
}LNode, *LinkList;
LinkList CreatList1(LinkList &L) {
LinkList s; //LNode *s;
int x;
L = (LNode*)malloc(sizeof(LNode));//L = (LinkList)malloc(sizeof(LNode));
L -> next = NULL;
scanf("%d", &x);
while(x!=END_INPUT) {
s = (LNode*) malloc(sizeof(LNode));
s->data = x;
s->next = L->next;
L->next = s;
scanf("%d", &x);
}
return L;
}
LinkList CreatList2(LinkList &L) {
int x;
L = (LinkList)malloc(sizeof(LNode));
LNode *s, *r = L;
scanf("%d", &x);
while(x != END_INPUT) {
s = (LinkList)malloc(sizeof(LNode));
s->data = x;
r->next = s;
r = s;
scanf("%d", &x);
}
r->next = NULL;
return L;
}
void out_put_content(LinkList &L) {
LinkList p = L;
while(p->next != NULL) {
printf("%d->", p->next->data);
p = p->next;
}
}
int main()
{
LinkList head1, head2; //LNode *L;
CreatList1(head1);
printf("List1:\n");
out_put_content(head1);
printf("\n");
printf("List2:\n");
CreatList2(head2);
out_put_content(head2);
return 0;
}