- 5
- 0
- 约7.41千字
- 约 40页
- 2017-07-28 发布于浙江
- 举报
数据结构 2线性表B
上堂课要点回顾 补充:结构类型的C语言表示法 ④ 介绍三个有用的库函数(都在stdlib.h 中): sizeof(x)——计算变量x的长度; malloc(m) —开辟m字节长度的地址空间,并返回这段空间的首地址; free(p) ——释放指针p所指变量的存储空间,即彻底删除一个变量。 第2章 线性表 2.1 线性表的逻辑结构 2.2 线性表的顺序表示和实现 2.3 线性表的链式表示和实现 2.4 应用举例 2.3 线性表的链式表示和实现 2.3.1 链表的表示 链式存储特点 补充:结构数据类型及其C语言表示法 与链式存储有关的术语 2.3.1 链表的表示 例1 画出26 个英文字母表的链式存储结构。 补充:结构类型的C语言表示法 补充:结构数据类型及其C语言表示法 ① 类型定义和变量说明可以合写为: typedef struct Node { //Node是自定义结构类型名称 char data; //定义数据域的变量名及其类型 struct Node *next; //定义指针域的变量名及其类型 }LNode,*LinkList; // LNode是Node结构类型的变量, // *LinkList是指向Node结构类型的指针 至此应可看懂教材P28对于单链表的抽象描述,和教材P22关于顺序表的抽象定义。 附:教材P22关于顺序表的抽象定义: 3. 与链式存储有关的术语: 4、头指针、头结点和首元结点 示意图如下: 讨论3. 头结点的数据域内装的是什么? 2.3.2 链表的实现 1. 单链表的建立和输出 2. 单链表的修改 3. 单链表的插入 4. 单链表的删除 5. 应用举例 6. 其它链表形式 1. 单链表的建立和输出 实例:用单链表结构来存放26个英文字母组成的线性表(a,b,c,…,z),请写出C语言程序。 例:建立单链表--头文件及数据结构声明 void main( ) { LinkList head; //头指针head build(head); //建立字母链表 display(head); //输出字母链表 } void build(LinkList head) //字母链表的生成 { int i=26; LinkList pf, p, head; //以下处理过程:结点pf在p的前面 int m=sizeof(LNode); //求每个结点占用几个字节存储空间 head=(LinkList)malloc(m); //头结点 head-next=NULL; pf=head; while( i ) { p=(LNode*)malloc(m); //为新结点开新空间! p-data= 26 - i + ‘a’; // 第一个结点值为字符a p-next=pf-next; pf-next=p; //插入到表尾 pf=p;//移动pf指针到下一位置 i--; } } void display(LinkList head) //字母链表的输出 { LinkList p; p=head-next; //p指向首元结点 while (p) { printf(%c ,p-data); p=p-next; } } 2. 单链表的修改(或读取) 思路:要修改第i个数据元素,关键是要先找到该结点的指针p,然后用p-data=new_value 即可。 3. 单链表的插入 4. 单链表的删除 5.应用举例:两个链表的归并(教材P31) 用链表可表示为: 算法分析: 思考: 2.3.3 链表的运算效率分析 1. 查找 因线性链表只能顺序存取,即在查找时要从头指针找起,查找的时间复杂度为 O(n)。 6. 更多与链式存储有关的术语: 例: 6. 其它链表形式 讨论2: 链表能不能首尾相连?怎样实现? 讨论3: 单链表只能查找结点的直接后继,能不能查找直接前驱?如何实现? 小结 问1:线性表的逻辑结构特点是什么?其顺序存储结构和链式存储结构的特点是什么? 问2:顺序存储和链式存储各有哪些优缺点? 问3:在什么情况下用顺序表比链表好? 作业: 1. 请在下次课前完成第2章自测卷全部内容; 时间效率分析 2. 插入和删除 因线性链表不需要移动元素,只要修改指针,一般情况下时间复杂度为 O(1)。 但是,如果要在单链表中进行前插或删除操作,由于要从头查找前驱结
您可能关注的文档
- 单向链表总结.ppt
- DS-09-2-链表.ppt
- 数据结构第二章线性表2.ppt
- 吴文虎程序设计12.ppt
- CAN总线非常详细教程120页.pdf
- 第2章直连网络-计算机网络.pdf
- Modbus通讯协议-重要文档.pdf
- 数据结构与算法(Python语言描述)课件3.ppt
- DBLOGISTICS 德邦物流 说明书 要约收购报告书摘要 用户手册.pdf
- Nidec尼得科蜗轮蜗杆选型手册0310用户手册.pdf
- 2025年北京市石景山区高三高考一模政治试卷及答案.docx
- 2018年吉林长春中考历史试卷及答案.docx
- 浙江省温州环大罗山联盟2025_2026学年高一生物下学期期中联考试题.doc
- Waveshare微雪电子用户手册USR-TCP232-T -S -D -2 -24 -300 -200 -442用户手册.pdf
- FOREO智臻面膜仪智能面膜仪UFO用户手册.pdf
- Monsanto孟莫克硫酸催化剂TM, TE, T11, T516, LP说明书用户手册.pdf
- XinHai Navigation心理测评系统用户手册.pdf
- METTLER TOLEDO梅特勒-托利多台式仪表FiveEasy Plus用户手册.pdf
- Qichao Muyi奇瑞徽银金融债券评级报告202233年第一期绿色金融债券说明书用户手册.pdf
- DBT德邦科技无型号说明书用户手册.pdf
最近下载
- 肌肉骨骼康复学第三版.pptx
- 2025及未来5年中国薰衣草干花市场数据分析及竞争策略研究报告.docx
- 2025ACC专家共识声明:心包炎的诊断和管理解读PPT课件.pptx VIP
- 2023-2024学年安徽省合肥市包河区七年级(上)期中地理试卷.docx VIP
- 市中级人民法院党组书记、院长关于2024年度民主生活会个人对照检视剖析材料.docx VIP
- 花篮拉杆式悬挑脚手架施工技术方案.docx VIP
- 人教版智培学校生活语文五年级上册第5课《什么美》教学设计.doc
- 招录事业编人员政审表.doc VIP
- 企业食堂从业人员管理培训课件.pptx VIP
- 版权产业在2025年市场动态分析及未来五年前景展望报告.docx
原创力文档

文档评论(0)