/**
* -----单链表--尾插法新建链表----
* @me
* @return
*/
#include <stdio.h>
#include <stdlib.h>
//定义链表
typedef int ElemType;
typedef struct LNode{
ElemType data;//数据域
struct LNode *next;//指针域
}LNode,*LinkList;
void ListTailInsert(LinkList &L){
L=(LinkList)malloc(sizeof(LNode));//为头结点申请内存空间
ElemType x;
scanf("%d",&x);
LinkList s,r;//s 为新结点 ;r为尾结点;
r=L;//指向头结点
while(x!=00){ //当输入的值为00时跳出循环
s=(LNode *)malloc(sizeof(LNode));
s->data=x;//将x存入到下一个结点的数据域
r->next=s;//新结点给尾结点next指针
r=s;//r指向新结点
scanf("%d",&x);
}
r->next=NULL;//尾结点的next为NULL
}
/**
* -----打印链表---------
* @return
*/
void LinkListPrint(LinkList L){
L=L->next;//头指针指向第一个借点
while(L!=NULL){//下一个结点不是空值
printf("%5d",L->data);
L=L->next;//使头指针指向下一个结点
}
printf("\n");
}
int main() {
LinkList L;//定义头指针
ListTailInsert(L);
LinkListPrint(L);
return 0;
}