动态链表基础入门与创建
需积分: 9 172 浏览量
更新于2024-08-05
1
收藏 1KB TXT 举报
"动态链表是一种数据结构,它允许在运行时动态地存储和管理数据,而无需预先知道存储空间的确切大小。在C语言中实现动态链表的关键在于定义节点结构、创建节点、链接节点以及遍历链表。以下是对给定代码的详细解析:
1. 节点结构定义:
- `struct student` 定义了一个名为`student`的结构体,包含成员变量`num`(整型,表示学号)和`score`(浮点型,表示分数)。结构体还包含一个指向下一个节点的指针`next`。
2. 函数声明:
- `struct student *creat()` 是一个用于创建动态链表的函数,它返回链表的头节点。
- `void print(struct student *head)` 是一个用于打印链表中所有节点的函数。
3. 主函数`main()`:
- 在主程序中,首先调用`creat()`函数创建一个动态链表,并将其结果赋值给`stu`。
- 然后,调用`print(stu)`来显示链表中的所有记录。
- 最后,使用`system("pause")`暂停程序执行,以便观察链表内容。
4. `creat()` 函数:
- 此函数首先创建两个临时节点`p1`和`p2`,并分配内存。
- 用户被提示输入学号和分数,然后将这些值分别存储到`p1`节点中。
- 使用循环,根据用户输入的数据不断创建新节点,并链接到前一个节点的`next`指针上。当输入的学号为0时,结束循环,设置最后一个节点的`next`指针为`NULL`,表示链表结束。
- 函数返回链表的头节点`head`。
5. `print()` 函数:
- 接收链表的头节点作为参数。
- 首先输出链表中的节点总数`n`。
- 然后使用`do-while`循环遍历链表,打印每个节点的学号和分数,直到遇到`NULL`节点。
总结来说,这段代码展示了如何使用C语言创建一个简单的动态链表,包括节点的创建、链接以及链表内容的输出。通过这个实例,新手可以理解动态链表的基本概念和操作,为进一步学习更复杂的链表操作打下基础。"
2013-10-16 上传
2009-04-29 上传
2018-02-28 上传
2021-09-30 上传
2022-09-23 上传
2013-08-27 上传
2015-11-16 上传
2016-09-29 上传
werewolf141
- 粉丝: 0
- 资源: 1