关于在单链表的尾部插入结点建立单链表的问题

来源:百度知道 编辑:UC知道 时间:2024/06/21 18:25:33
这是我写的一个程序,出不来结果。望各位大哥大姐给我改正。谢谢!!!
#include"stdio.h"
#include"stdlib.h"
typedef struct node
{
int data;
struct node *next;
}LNode,*LinkList;
void main()
{
LinkList Creat_LinkList()
{
LinkList L=NULL;
LNode *s,*r=NULL;
int x;
scanf("%d",&x);
while(x!=25)
{
s=(LinkList)malloc(sizeof(LNode));
s->data=x;
if(L==NULL) L=s;
else r->next=s;
r=s;
scanf("%d",&x);
}
if(r!=NULL) r->next=NULL;
return L;
}
}


#include"stdio.h"
#include"stdlib.h"
typedef struct node
{
int data;
struct node *next;
}LNode,*LinkList;

LinkList Creat_LinkList()//创建链表
{
int x;
LinkList L,s,r;
scanf("%d",&x);
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
r=L;
while(r->next)
r=r->next;//通过循环找到尾节点

while(x!=25)
{
s=(LinkList)malloc(sizeof(LNode));
s->data=x;
s->next=r->next;//插入节点s
r->next=s;
r=r->next;//把r重新变成尾节点
scanf("%d",&x);
}
return L;
}
void main()
{//为了验证,在主函数中把刚创建的链表显示出来,注意创建的时候根据你的程序输入25停止
LinkList L,p;
L=Creat_LinkList();
p=L->next;
while(p)
{
printf("%d ",p->data);
p=p->next;
}
}

把LinkList Creat_LinkList() 这个函数写在主