尾插法建立单链表并实现输出[纯C语言]
#include<stdio.h>
#include<stdlib.h>
typedef struct Node{
char data;
struct Node* next;
}Node ,*LinkList;
void InitLinkList(LinkList *L){
*L=(LinkList)malloc(sizeof(Node));
(*L)->next=NULL;
printf("初始化成功\n");
}
void CreateFromTail(LinkList L){
Node *r,*s;
int flag=1;
char c;
r=L;
printf("请输入字符:\n");
while(flag)
{
c=getchar();
if(c!='$')
{
s=(Node*)malloc(sizeof(Node));
s->data=c;
r->next=s;
r=s;
}
else
{ printf("输入结束\n");
s->next=NULL;
flag=0;
}
}
}
void ReadLinkList(LinkList L){
Node *s;
s=L->next;
int flag=1;
printf("输出结果为:\n");
while(flag)
{
if(s!=NULL)
{
printf("%c",s->data);
s=s->next;
}
else
{
flag=1;
}
}
}
int main()
{
LinkList H;
InitLinkList(&H);
CreateFromTail(H);
ReadLinkList(H);
}