中国药科大学:《数据结构》课程PPT教学课件(讲稿)第三章 链表之(单链表的类定义)

第三章链表 单链表 多项式及基相加 双向链表 稀疏矩阵
◼ 单链表 ◼ 循环链表 ◼ 多项式及其相加 ◼ 双向链表 ◼ 稀疏矩阵

单链表( Singly Linked List) 特点 ◆每个元素表项由结点(Noe)构成。 data link ◆线性结构 first-aoa+a-+a3+a4 ◆结点可以不连续存储 ◆表可扩充
单链表 (Singly Linked List) ◼ 特点 ◆ 每个元素(表项)由结点(Node)构成。 ◆ 线性结构 ◆ 结点可以不连续存储 ◆ 表可扩充 data link first a0 a1 a2 a3 a4

单链表的存储映像 free (a)可利用存储空间 first fir ree (b)经过一段运行后的单链表结构
单链表的存储映像 free (a) 可利用存储空间 a0 a2 a1 a3 free first (b) 经过一段运行后的单链表结构

单链表的类定义 多个类表达一个概念单链表) ◆链表结点 Listnode)类 ◆链表ist)类 定义方式 ◆复合方式 ◆嵌套方式 继承方式
单链表的类定义 ◼ 多个类表达一个概念(单链表)。 ◆ 链表结点(ListNode)类 ◆ 链表(List)类 ◼ 定义方式 ◆ 复合方式 ◆ 嵌套方式 ◆ 继承方式

class list. ∥1表类定义(复合方式) class listnode i ∥链表结点类 friend class list. ∥链表类为其友元类 p rivate. int data: ∥/结点数据,整型 Listnode x link /结点指针 class list i ∥/链表类 privates ListNode*frst,* current;∥表头指针
class List; //链表类定义(复合方式) class ListNode { //链表结点类 friend class List; //链表类为其友元类 private: int data; //结点数据, 整型 ListNode * link; //结点指针 }; class List { //链表类 private: ListNode *first, *current; //表头指针 };

class list{/链表类定义(嵌套方式) private class ListNode i ∥套链表结点类 public C int data Listnode *link Listnode*frst,* current;∥表头指针 public C° ∥链表操作
class List { //链表类定义(嵌套方式) private: class ListNode { //嵌套链表结点类 public: int data; ListNode *link; }; ListNode *first, *current; //表头指针 public: //链表操作……… };

链表类和链表结点类定义(继承方式) class listnode{∥链表结点类 protected: int data: Listnode link class List: public class ListNode i ∥/链表类,继承链表结点类的数据和操作 privates ListNode*frst,* current;∥表头指针
链表类和链表结点类定义(继承方式) class ListNode { //链表结点类 protected: int data; ListNode * link; }; class List : public class ListNode { //链表类, 继承链表结点类的数据和操作 private: ListNode *first, *current; //表头指针 };

单链表中的插入与删除 插入 ◆第一种情况:在第一个结点前插入 newnode->link= first i first= newnode; newnode newnode first first→ 十+ (插入前) (插入后)
单链表中的插入与删除 ◼ 插入 ◆ 第一种情况:在第一个结点前插入 newnode->link = first ; first = newnode; (插入前) (插入后) first newnode newnode first

第二种情况:在链表中间插入 newnode->link= current->link; current->link= newnode newnode-L newnode curren current (插入前) (插入后)
(插入前) (插入后) ◆ 第二种情况:在链表中间插入 newnode->link = current->link; current->link = newnode; newnode current newnode current

。第三种情况:在链表末尾插入 newnode->link= current->link. current->link= newnode newnode→ newnode-入 current current (插入前) (插入后)
◆ 第三种情况:在链表末尾插入 newnode->link = current->link; current->link = newnode; (插入前) (插入后) newnode newnode current current
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中国药科大学:《数据结构》课程PPT教学课件(讲稿)第二章 数组的定义和初始化知识讲解.ppt
- 中国药科大学:《数据结构》课程PPT教学课件(讲稿)第十章 索引与散列结构知识讲解.ppt
- 中国药科大学:《数据结构》课程PPT教学课件(讲稿)第一章 绪论.ppt
- AUTO CAD205中文教程 教学课件讲解.ppt
- 微机原理、汇编语言与接口技术:第四章 机器语言、汇编语言与高级语言.ppt
- 微机原理、汇编语言与接口技术:第六章 总线的基本概念.ppt
- 微机原理、汇编语言与接口技术:第八章 中断技术、DMA控制器及定时器/计数器.ppt
- 微机原理、汇编语言与接口技术:第五章 存储系统及半导体存储器.ppt
- 微机原理、汇编语言与接口技术:第二章 微机原理与接口技术微处理器.ppt
- 微机原理、汇编语言与接口技术:第九章 数、模和数、数模转换.ppt
- 微机原理、汇编语言与接口技术:第三章 微型计算机指令系统.ppt
- 微机原理、汇编语言与接口技术:第七章 输入输出总线接口技术.ppt
- 微机原理、汇编语言与接口技术:第一章 微型计算机的发展、应用及其分类.ppt
- 东北农业大学工程学院:《计算机集成制造技术》课程教学资源(PPT课件)计算机辅助制造概论.ppt
- 计算机应用基础_Killer Transitions README.rtf
- 计算机应用基础_KILLER Transitions Manual.rtf
- VISUAL C++ MFC 简明教程.doc
- 柳州师专电算中心《计算机应用基础》练习题集_封面.doc
- 柳州师专电算中心《计算机应用基础》练习题集.doc
- 计算机应用基础练习题集_光盘的种类和用途.doc
- 中国药科大学:《数据结构》课程PPT教学课件(讲稿)第四章 栈和队列的知识概论.ppt
- 中国药科大学:《数据结构》课程PPT教学课件(讲稿)第五章 递归与广义表的知识概念讲解.ppt
- 中国药科大学:《数据结构》课程PPT教学课件(讲稿)第六章 树与森林的概念讲解.ppt
- 中国药科大学:《数据结构》课程PPT教学课件(讲稿)第七章 集合与搜索的基本概念.ppt
- 中国药科大学:《数据结构》课程PPT教学课件(讲稿)第八章 图的基本概念的知识讲解.ppt
- 中国药科大学:《数据结构》课程PPT教学课件(讲稿)第九章 排序的基本概述.ppt
- 科学计算与 MATLAB语言——第一章 MATLAB概述与运算基础.pps
- 科学计算与 MATLAB语言——第二章 MATLAB程序设计.pps
- 科学计算与 MATLAB语言——第三章 Mat1ab的文件操作.pps
- 科学计算与 MATLAB语言——第四章 Matlab绘图功能.pps
- 科学计算与 MATLAB语言——第五章 MATLAB线性代数中的数值计算问题.pps
- 科学计算与 MATLAB语言——第六章数据处理方法与多项式.pps
- 科学计算与 MATLAB语言——第七章 MATLAB的符号计算.pps
- 科学计算与 MATLAB语言——第八章 MATLAB图形用 户界面设计.pps
- Linux实用教程——第一章 Linux的实用教程概况及安装.ppt
- Linux实用教程——第二章 Linux的常用命令.ppt
- Linux实用教程——第三章 Linux系统管理概述.ppt
- Linux实用教程——第四章 Linux网络基础.ppt
- Linux实用教程——第五章 Intranet服务器.ppt
- Linux实用教程——第六章 Internet应用服务器的配置.ppt