文档介绍:第一章链表课程目标链表的概念链表的基本操作建表添加节点删除节点按序号查找定位其他链表循环链表双链表本章的体验项目——<大鱼吃小鱼>程序实现的功能:遍历整个链表运行的结果如图1-1所示这幅图也说明了链表的结构:,我们看到数组作为数据存储结构有一定的缺陷:在无序数组中,搜索是低效的而在有序数组中插入效率又很低不管在哪一种数组中删除效率都很低创建一个数组之后,它的大小又是不可变的在本章中,我们将看到一种新的数据存储结构,它可以解决上面的一些问题,这种数据存储结构就是链表。什么是链表?链表是一种有序的列表。链表的内容通常存储与内存中分散的位置上。链表由节点组成,每一个节点的结构都相同。节点分为数据域和链域,数据域顾名思义就是存放节点的内容,链域存放的是下一个节点的指针,也就是我们一开始说的螳螂捕蝉黄雀在后。,每个数据项都被包括在“节点”(Node)中。节点是某个类的对象,这个类可以叫做Node。因为一个链表中有许多类似的节点,所以有必要用一个描述节点的类来表达节点。每个Node对象中都包含一个对下一个节点引用的字段(通常叫做next)。数据域,用于存储节点的数据元素链域,用于存放下一个节点对象下面的Node类定义了一个节点。它包含了一些数据和对下一个节点的引用classNode{publicintiDate;publicdoubledDate;odenext;}数据域链域这种类定义有时叫做“自引用”式,因为它包含了一个和自己类型相同的字段(本例中叫做next)。节点中仅包含两个数据项:一个int类型的数据,一个double类型的数据。 在一个真正的应用程序中,可能包含更多的数据项。 例如,一条个人纪录可能有名字、地址、社会保险好、头衔、工资和其他许多字段。 通常,用一个包含这些数据的类的对象来代替这些数据项:classNode{publicPersonperson; odenext;}classPerson{ame;publicage; publicsex;},加工型运算,其作用是建立一个空表L=null求表长,引用型运算,其结果是链表的长度,即有几个节点。读链表节点,引用型运算,若1≤i≤链表的长度,其结果是链表的第i个节点;否则,结果为一特殊定位(按值查找),引用型运算。插入,加工型运算。删除,加工型运算。 这些运算在后面个小节为大家详细讲解