#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
typedef int ElemType;
typedef int Status;
typedef struct LNode {
ElemType data;
struct LNode *next;
} LNode, *LinkList;
//遍历
Status ListTraverse(LinkList L) {
L = L->next;
while (L != NULL) {
printf("%3d", L->data);
L = L->next;
}
printf("\n");
return OK;
}
//尾插法(这个有问题)
LinkList CreateList1(LinkList &L) {
int x;
L = (LinkList)malloc(sizeof(LNode));
LinkList j, m = L;
scanf("%d", &x);
while (x != 9999) {
m = (LinkList)malloc(sizeof(LNode));
m->data = x;
j->next = m;
j = m;
scanf("%d", &x);
}
j->next = NULL;
return L;
}
//这个没问题
LinkList CreateList2(LinkList &L) {
int x;
L = (LinkList)malloc(sizeof(LNode));
LinkList s, r = L;
scanf("%d", &x);
while (x != 9999) {
s = (LinkList)malloc(sizeof(LNode));
s->data = x;
r->next = s;
r = s;
scanf("%d", &x);
}
r->next = NULL;
return L;
}
int main () {
LinkList L;
CreateList1(L);
ListTraverse(L);
return 0;
}
//显示结果