- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.3线性表的链式表示和实现
2.3.1线性链表R
线性表的单链表存储方法:用一个指针表示结点间
Z
的逻辑关系。因此单链表的一个存储结点包含两个部,
结点的形式如下:L
-
datanext
U
data:为数据域,用于存储线性表的一个数据元素,
D
也就是说在单链表中一个结点存放一个数据元素。
Q
next:为指针域或链域,用于存放一个指针,该指针
指向后继元素对应的结点,也就是说单链表中结点的
指针用于表示后继关系。
特点
每个数据元素由结点(Node)构成。
datanextR
线性结构Z
L
heada1a2-a3a4a5∧
结点可以连续,可以不连续存储。
U
结点的逻辑顺序与物理顺序可以不一致。
表可扩充。D
链表中第一个元素结点称为首结点;最后一个元素称为
Q
尾结点,其指针域(next)为空(NULL)。
单链表分为带头结点和不带头结点两种类型。在
许多情况下,带头结点的单链表能够简化运算的
实现过程。R
Z
因此在后续讨论的单链表,除特别指出外均指带
L
头结点的单链表。-
U
D
Q
假设数据元素的类型为ElemType。单链表的结点类
型声明如下:R
typedefintElemType;Z
typedefintStatus;L
#defineOK1
-
#defineERROR0
//结点的C语言描述
U
typedefstructnode{
D
ElemTypedata;
structnode*next;
Q
}LNode,*LinkList;
2
文档评论(0)