有表头结点和无表头结点单链表的区别
我发现它们都有头指针L,无表头的指向的就是首元结点,而有表头结点的就是指向头结点,这么理解对吗?...
我发现它们都有头指针L,无表头的指向的就是首元结点,而有表头结点的就是指向头结点,这么理解对吗?
展开
2个回答
展开全部
有表头结点和无表头结点单链表的区别为:指向不同、数据域不同、简洁性不同。
一、指向不同
1、有表头结点单链表:有表头结点单链表的头指针指向头结点。
2、无表头结点单链表:无表头结点单链表的头指针指向第一个首元结点。
二、数据域不同
1、有表头结点单链表:有表头结点单链表的数据域需要保存表头信息。
2、无表头结点单链表:无表头结点单链表的数据域可以不存任何信息。
三、简洁性不同
1、有表头结点单链表:有表头结点单链表减少了单链表添加删除时特殊情况的判断,减少了程序的复杂性。
2、无表头结点单链表:无表头结点单链表删除或添加时都得需要判断一次首元结点。
展开全部
可以这么理解,有表头的节点的偷节点一般不带数据,和无表头的节点最大的区别在于使用起来有表头的更加方便和易于理解。举个例子,如果你需要删除一个链表中的节点,如果是无表头你就要考虑删除的是不是表头的情况,万一删除了表头那么整个链表都不复存在(虽然还在占用内存);而对于有表头节点,因为存有数据的都不是表头,删除的时候无须考虑删除表头节点导致链表找不到的情况发生。
追问
请问表头是什么?是首元素或者头指针还是其他的?
追答
表头一般是一个只存储地址指针的结构体,指向你真正要存储的东西,说白了就是指向“无表头的结构体”
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询