数据结构|单链表表示的三种方法

 我来答
新科技17
2022-06-30 · TA获得超过5869个赞
知道小有建树答主
回答量:355
采纳率:100%
帮助的人:73.3万
展开全部

对于线性表来说, 总得有个头尾,头部做为基准地址,如数组的数组名,链表的头指针。尾部做为结束的标志,数组使用一个长度属性来标识数组的结束位置,字符串使用转义字符'',链表使用NULL指针来标识结束位置。

我们知道,数组的全部元素是集中存储,数组的基准地址是第一个元素的地址,也就是数组名的值,其它元素的索引都是一个整型常量,对元素的访问就是基准地址相对于索引的偏移,所以数组元素可以随机访问。

链式存储是分散存储,通过节点的指针域来建立一个节点与其下一个邻接节点的联系。链式存储的头指针虽然也是整个链式数据结构的基准地址,但要找到某一节点,需要顺序访问,从头节点开始,顺着每一个节点的指针域的值,一个节点一个节点地挼。

我们把链表中第一个节点的存储位置叫做 头指针 , 那么整个链表的存取就必须是从头指针开始进行了。之后的每一个节点, 其实就是上一个的后继指针指向的位置。有时,我们为了更加方便地对链表进行操作,会在单链表的第一个结点前附设一个结点,称为 头节点 。头节点的数据域可以不存储任何信息,谁叫它是第一个呢,有这个特权。也可以存储如线性表的长度等附加信息,头节点的指针域存储指向第一个节点的指针。

是否使用头节点,在实现链表的常用操作时代码的写法稍有区别,使用头节点的方法代码较为简洁。同时,也可以将这个表头节点指针封装到一个结构体中,并在结构体中增加链表长度等信息。

1 使用头节点的链表表示

加头结点的优点:

1)链表第一个位置的操作无需特殊处理;

2)将空表和非空表的处理统一。

2 不使用头节点的链表表示

3 链表和链表节点用不同的结构体来表示

链表用一个结构体来描述,封装一个节点指针做表头,并增加一个链表长度变量,需要时也可以增加一个节点指针做表尾。

-End-

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式