c语言动态链表的创建

简介:

创建动态连链表就是将一个个节点连接起来

(1)动态生成节点

(2)输入节点数据

(3)将节点链在一起

例:

typedef struct Data

{

char num[20];

char name[10];

char sex;

float english;

float chinese;

float math;

};

typedef struct Node

{

struct Data data;//结构体类型//结构体嵌套

struct Node* next;//结构体指针型

}node,*Pnode;


Pnode phead=NULL;

Pnode ptail=NULL;


//创建结点

Pnode creat_node(int COUNT)

{

int i=0;

Pnode pnew=NULL;

for(i=0;i<COUNT;i++)  //COUNT为节点数

{

pnew=(Pnode)malloc(sizeof(node));//创建一个新节点

printf("请输入第%d个学生的信息:\n",(i+1));

printf("学号:\n");

scanf("%s",pnew->data.num);

printf("姓名:\n");

scanf("%s",pnew->data.name);

printf("性别:\n");

scanf("\n%c",&pnew->data.sex);

printf("英语:\n");

scanf("%f",&pnew->data.english);

printf("语文:\n");

scanf("%f",&pnew->data.chinese);

printf("数学:\n");

scanf("%f",&pnew->data.math);

if(ptail)

{

    ptail->next=pnew;//第一个以后的结点

    ptail=pnew;

}

else

{

   phead=ptail=pnew;//第一个节点

}

               pnew->next=NULL;

}

return phead;

}本文转自 Linux_woniu 51CTO博客,原文链接:http://blog.51cto.com/linuxcgi/1965329



相关文章
|
3天前
|
C语言
对链表使用插入排序的C语言实现示例
对链表使用插入排序的C语言实现示例
|
3天前
|
存储 编译器 C语言
【数据结构】C语言实现带头双向循环链表万字详解(附完整运行代码)
【数据结构】C语言实现带头双向循环链表万字详解(附完整运行代码)
11 0
|
3天前
|
C语言
C语言循环链表讲解
C语言循环链表讲解
21 0
|
3天前
|
存储 C语言
C语言线性链表讲解
C语言线性链表讲解
21 0
|
3天前
|
存储 C语言
C语言双向链表讲解
C语言双向链表讲解
19 0
|
3天前
|
C语言
基于链表实现的链式管理系统(C语言课设)
基于链表实现的链式管理系统(C语言课设)
|
3天前
|
C语言
链接未来:深入理解链表数据结构(二.c语言实现带头双向循环链表)
链接未来:深入理解链表数据结构(二.c语言实现带头双向循环链表)
33 0
|
3天前
|
C语言
链表的插入、删除和查询—C语言
链表的插入、删除和查询—C语言
|
3天前
|
存储 算法 C语言
C语言线性链表
【4月更文挑战第10天】C程序线性链表
21 0
|
3天前
|
存储 C语言
C语言之单链表的实现以及链表的介绍
C语言之单链表的实现以及链表的介绍