建立一个三个结点的链表,存放学生数据。为简单起见,假定学生数据结构中只有学号和年龄两项。编写一个建立单向链表的函数 creat,并实现单项链表的建立。(选作:遍历和删除)

建立一个三个结点的链表,存放学生数据。为简单起见,假定学生数据结构中只有学号和年龄两项。编写一个建立单向链表的函数 creat,并实现单项链表的建立。(选作:遍历和删除)


#include<stdio.h>
#include<malloc.h>
typedef struct LNode  
{
    char id[20];
    int age;
    struct LNode *next;        //指向后继结点
} LinkNode;    
void Create(LinkNode *&L)
//尾插法建立单链表
{
    LinkNode *s,*r;
    L=(LinkNode *)malloc(sizeof(LinkNode));      //创建头结点
    L->next=NULL;
    r=L;                    //r始终指向终端结点,开始时指向头结点
    for (int i=0;i<3;i++)
    {    
        s=(LinkNode *)malloc(sizeof(LinkNode));//创建新结点s
        scanf("%s %d",s->id,&s->age);
        r->next=s;            //将结点s插入结点r之后
        r=s;
    }
    r->next=NULL;            //终端结点next域置为NULL
}
void DispList(LinkNode *L)
{
    LinkNode *p=L->next;
    while (p!=NULL)
    {    printf("%s %d\n ",p->id,p->age);
        p=p->next;
    }
    printf("\n");
}
int main()
{
    LinkNode *L;
    CreateListR(L);
    DispList(L);
    return 0;
}