清华大学:《数据结构》课程教学资源(PPT课件讲稿)第三章 链表

第章 单链表(Singly Linked List 循环链表(Circular List) 多项式及其相加 双向链表(Doubly Linked List) 稀疏矩阵
单链表 (Singly Linked List) 循环链表 (Circular List) 多项式及其相加 双向链表 (Doubly Linked List) 稀疏矩阵

单链表( Singly linked List) 特点 每个元素(表项由结点(Node)构成。 element 线性结构 first l0 02 03 last 0结点可以不连续存储 0表可扩充
单链表 (Singly Linked List) 特点 每个元素(表项)由结点(Node)构成。 线性结构 结点可以不连续存储 表可扩充

单链表的存储映像 (a)可用存储空间 ree C0 1 3 first ree b)经过一段运行后的单链表结构st
单链表的存储映像

单链表的类定义 多个类表达一个概念(单链表) 0链表结点 Listnode)类 0链表Lis)类 0链表游标erto)类 定义方式 0复合方式 0嵌套方式
单链表的类定义 多个类表达一个概念(单链表)。 链表结点(ListNode)类 链表(List)类 链表游标(Iterator)类 定义方式 复合方式 嵌套方式

class Lists )合类定义 class Listnode i ∥链表结点类 friend class list;1表类为其友元类 rivate int data '结点数据,型 Listnode ilink 结点指针 class list ∥/链表类 publica ∥表公共操作 private Listnode*frst,ast;表头和表尾指针
class List; //复合类定义 class ListNode { //链表结点类 friend class List; //链表类为其友元类 private: int data; //结点数据, 整型 ListNode *link; //结点指针 }; class List { //链表类 public: //链表公共操作 ……… private: ListNode *first, *last; //表头和表尾指针 };

class list{∥表类定义(嵌套方式) public. 链表操作 p rivate class listnode{∥l套链表结点类 publico int data Listnode links Listnode*rst2*lat;表头和表尾指针
class List { //链表类定义(嵌套方式) public: //链表操作 ……… private: class ListNode { //嵌套链表结点类 public: int data; ListNode *link; }; ListNode *first, *last; //表头和表尾指针 };

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

第二种情况:在链表中间插入 newnode-link=p→link p-link= newnode newnan neun x x 插入前) 插入后)
(插入前) (插入后) 第二种情况:在链表中间插入 newnode→link = p→link; p→link = newnode;

第三种情况:在链表末尾插入 newnode-link=p-link; p-link=last= newnode; neon wnoce Last last (插入前) (插入后)
第三种情况:在链表末尾插入 newnode→link = p→link; p→link = last = newnode; (插入前) (插入后)

int List: Insert( const int x, const int i)t /在链表第i个结点处插入新元素x Node p=first; int k=0; while(p !- null & ki-I {p=p→link;k++;}/找第i1个结点 if(p== null & first I = NULL)& cout <<"Invalid position for Insertation!n?: return 0 Node newnode= new Node(x, null); /创建新结点,其数据为x,指针为0
int List::Insert ( const int x, const int i ) { //在链表第 i 个结点处插入新元素 x Node *p = first; int k = 0; while ( p != NULL && k< i -1 ) { p = p→link; k++; } //找第i-1个结点 if ( p == NULL && first != NULL ) { cout << “Invalid position for Insertation!\n”; return 0; } Node *newnode= new Node(x, NULL); //创建新结点,其数据为x,指针为0
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学:《数据结构》课程教学资源(PPT课件讲稿)第二章 数组.ppt
- 清华大学:《数据结构》课程教学资源(PPT课件讲稿)第一章 绪论(主讲:殷人昆).ppt
- 清华大学:《数据结构》课程教学资源(练习答案)第十章答案.doc
- 清华大学:《数据结构》课程教学资源(练习答案)第九章答案.doc
- 清华大学:《数据结构》课程教学资源(练习答案)第八章答案.doc
- 清华大学:《数据结构》课程教学资源(练习答案)第七章答案.doc
- 清华大学:《数据结构》课程教学资源(练习答案)第六章答案.doc
- 清华大学:《数据结构》课程教学资源(练习答案)第五章答案.doc
- 清华大学:《数据结构》课程教学资源(练习答案)第四章答案.doc
- 清华大学:《数据结构》课程教学资源(练习答案)第三章答案.doc
- 清华大学:《数据结构》课程教学资源(练习答案)第二章答案.doc
- 清华大学:《数据结构》课程教学资源(练习答案)第十章答案.doc
- 清华大学:《数据结构》课程教学资源(练习答案)第一章答案.doc
- 机械工业出版社:《Java完全自学手册》教材电子教案(PPT课件讲稿)第9章 多线程编程.ppt
- 机械工业出版社:《Java完全自学手册》教材电子教案(PPT课件讲稿)第8章 对象的初始化和清理.ppt
- 机械工业出版社:《Java完全自学手册》教材电子教案(PPT课件讲稿)第7章 面向对象技术导论.ppt
- 机械工业出版社:《Java完全自学手册》教材电子教案(PPT课件讲稿)第6章 容器类简介.ppt
- 机械工业出版社:《Java完全自学手册》教材电子教案(PPT课件讲稿)第5章 字符串操作.ppt
- 机械工业出版社:《Java完全自学手册》教材电子教案(PPT课件讲稿)第4章 数组.ppt
- 机械工业出版社:《Java完全自学手册》教材电子教案(PPT课件讲稿)第3章 程序流程控制.ppt
- 清华大学:《数据结构》课程教学资源(PPT课件讲稿)第四章 栈与队列.ppt
- 清华大学:《数据结构》课程教学资源(PPT课件讲稿)第五章 递归.ppt
- 清华大学:《数据结构》课程教学资源(PPT课件讲稿)第六章 树与森林.ppt
- 清华大学:《数据结构》课程教学资源(PPT课件讲稿)第七章 集合与搜索.ppt
- 清华大学:《数据结构》课程教学资源(PPT课件讲稿)第八章 图.ppt
- 清华大学:《数据结构》课程教学资源(PPT课件讲稿)第九章 排序.ppt
- 清华大学:《数据结构》课程教学资源(PPT课件讲稿)第十章 搜索与散列.ppt
- 南京大学:《C语言程序设计》课程教学资源(PPT课件)第一章 C语言概述(姜恒远).ppt
- 南京大学:《C语言程序设计》课程教学资源(PPT课件)第七章 数组(姜恒远).ppt
- 南京大学:《C语言程序设计》课程教学资源(PPT课件)第三章 数据类型、运算符与表达式(姜恒远).ppt
- 南京大学:《C语言程序设计》课程教学资源(PPT课件)第九章 预处理命令(姜恒远).ppt
- 南京大学:《C语言程序设计》课程教学资源(PPT课件)第五章 选择结构程序设计(姜恒远).ppt
- 南京大学:《C语言程序设计》课程教学资源(PPT课件)第八章 函数(姜恒远).ppt
- 南京大学:《C语言程序设计》课程教学资源(PPT课件)第六章 循环控制(姜恒远).ppt
- 南京大学:《C语言程序设计》课程教学资源(PPT课件)第十一章 结构体与共用体(姜恒远).ppt
- 南京大学:《C语言程序设计》课程教学资源(PPT课件)第十三章 文件(姜恒远).ppt
- 南京大学:《C语言程序设计》课程教学资源(PPT课件)第十章 指针(姜恒远).ppt
- 南京大学:《C语言程序设计》课程教学资源(PPT课件)第四章 最简单的C程序设计——顺序结构程序设计(姜恒远).ppt
- 东北大学:《离散数学》课程教学资源(PPT课件讲稿)第四章 二元关系.ppt
- 东北大学:《离散数学》课程教学资源(PPT课件讲稿)第四章 二元关系.ppt