PS: 來源2014年數據結構聯考復習指導 Page27.
#include#include #include 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; }