10.3 链表(课件)-《C语言程序设计》同步教学(西安电子科技大学出版社)

2024-05-06
| 24页
| 159人阅读
| 42人下载
普通

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 高一
章节 -
类型 课件
知识点 -
使用场景 同步教学-新授课
学年 2024-2025
地区(省份) 陕西省
地区(市) 西安市
地区(区县) -
文件格式 PPTX
文件大小 911 KB
发布时间 2024-05-06
更新时间 2024-05-06
作者 匿名
品牌系列 -
审核时间 2024-05-06
下载链接 https://m.zxxk.com/soft/44948544.html
价格 0.00储值(1储值=1元)
来源 学科网

内容正文:

C 语言程序设计 2023 翻转课堂实用教程 10.4 链表 1 2 3 链表的链式存储 链表的节点 链表的组织形式 链表的基本操作 知识点 链表案例分析 案例分析 链表相关练习题 练习题 讲解本节的主要内容,方便学生的学习。 前面章节中,学生会候选人、应届毕业生的信息采用什么方式存储? 若进行删除、插入的操作,会涉及到非常多移动的操作,降低了程序执行的效率。 C 语言提供了一种采用动态存储分配的构造数据类型——链表,大大提高了程序解决此类问题的时间效率。 10.4.1链表知识点 结构体数组的存储方式 优点:便于对信息进行查询、修改、输出操作。 如何更好解决删除、插入的问题? 链条示意图 10.4.1链表知识点 先看下链条: 由多个金属环串联在一起的 前一个金属环扣住下一个金属环。 链表就是一种链式存储的结构, 由多个相同结构体类型的节点串联一起 节点之间相互关联 链表分为单向链表和双向链表,本节只讲解单向链表。 10.4.1链表知识点 每个节点都是一个结构体类型的变量,两部分组成: ① 节点本身的数据部分,称为数据域; ② 指向下一个节点的指针,称为指针域。 以保存29 47 84 90这4个数据为例。 链表的组织形式——节点 10.4.1链表知识点 例如:定义struct node结构体类型作为链表节点的类型名,定义如下: typedef struct node{ int data; //数据域的值 struct node* next; //指针域的值,next指向下一个链表节点 }Node; typedef用法? next指针的类型? 链表的组织形式——节点 data next 讲解typedef用法,以及为什么next的类型为 struct node * 10.4.1链表知识点 (1)头指针,链表一般使用头指针head来表示,方便后续对链表的访问和操作。 (2)节点,节点分为第一个节点和其他节点。 无头节点的单向链表: 带头节点的单向链表: 涉及的概念: 第一个节点,为头结点。 存储第一个实际数据的节点,为首元节点。 最后一个节点称为尾节点,尾节点后续没有节点,其指针域的值为NULL。 链表包括头指针和节点 了解单项链表中涉及的几个概念,对照这个无头节点的单链表来讲解概念。 引入单向链表的分类,分为无头节点的单向链表、带头结点的单向链表 无头节点的单向链表:第一个节点的数据域可以存储第一个实际数据,这样第一个节点便为首元节点 带头节点的单向链表:第一个节点的数据域也可以不存储实际数据,让其指针域指向首元节点,这样的第一个节点便为头节点 10.4.1链表知识点 (1)malloc和free函数 链表中的节点,逻辑上:连续的, 物理上:是随机存放的。 每个节点的内存空间,通过动态存储分配的。使用stdlib.h头文件中函数。 malloc:动态分配内存空间 free:释放用malloc动态分配的内存空间 链表的基本操作 10.4.1链表知识点 (1)malloc和free函数 malloc函数原型如下: void *malloc(unsigned int size); 在动态存储区分配一个大小为size字节的连续空间。 成功:返回分配好的存储空间的首地址; 失败:返回值NULL 链表的基本操作 举例: double *pd = (double *)malloc( sizieof (double)); 1、增加程序可移植性 2、强制转化为需要的类型 10.4.1链表知识点 (1)malloc和free函数 free函数原型如下: void free(void* p); 释放掉指针p指向的内容空间。free函数要和malloc函数成对使用。 链表的基本操作 举例: struct node *curNode = (struct node *)malloc( sizieof (struct node)); … free(curNode); maloc函数申请的空间,不会自动释放。 必须由free函数来释放。 10.4.1链表知识点 (2)单向链表的新建 链表的基本操作 创建单链表,保存29 47 84 90这4个数据。 头结点 head rear 29 首元结点 curNode rear->next 47 rear->next 用图示演示下新建链表的过程,然后再讲解代码 10.4.1链表知识点 //生成含头节点的单向链表 for (i=0; i<N; i++) { //创建新节点curNode,为其动态分配存储

资源预览图

10.3  链表(课件)-《C语言程序设计》同步教学(西安电子科技大学出版社)
1
10.3  链表(课件)-《C语言程序设计》同步教学(西安电子科技大学出版社)
2
10.3  链表(课件)-《C语言程序设计》同步教学(西安电子科技大学出版社)
3
10.3  链表(课件)-《C语言程序设计》同步教学(西安电子科技大学出版社)
4
10.3  链表(课件)-《C语言程序设计》同步教学(西安电子科技大学出版社)
5
10.3  链表(课件)-《C语言程序设计》同步教学(西安电子科技大学出版社)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。