数据结构-线性表-链接存储
2024-01-07 17:13:34
关于线性表计顺序存储可看上篇文章:数据结构-线性表-顺序存储-CSDN博客
线性表的链接存储
链接方式存储的线性表简称为链表LinkList,链表的具体存储表示为:用一组任意的存储单元来存放;链表中结点的逻辑次序和物理次序不一定相同。还必须存储指示其后继结点的地址信息。
链表分类
单链表
单链表的构成:data域,next域
- data域:存放结点值的数据域
- next域:存储结点的直接后继的地址的指针域
- 结点通过指针链接而组成单链表,NULL称为空指针,Head称为头指针变量,存放链表中的第一个结点地址
- 单链表中的第一个结点内一般不存数据,称为头结点,利用头指针存放该结点地址,加设头结点为了方便运算
- head是链表的头指针,head内存放的是头结点的地址。 第一个元素结点:head→next
- 非空单链表和空单链表示例
- 单头结点非空单链表和空单链表示例
链表的基本运算
链表初始化
链表长度
链表读取元素
链表数据定位
链表的插入运算
链表的删除运算
???????循环链表
双向循环链表
顺序表和链表比较
单链表的每个结点包括数据域和指针域,指针域需要占用额外空间。
从整体考虑。顺序表要预分配存储空间,如果预先分配得过大,将造成浪费,若分配得过小,又将发生上溢;单链表不需要预先预分配空间,只要内存空间没有耗尽,单链表中的结点个数就没有限制。
顺序表和链表的时间性能比较
顺序表:读取元素:O(1);定位(找x): O(n);插入: O(n);删除: O(n);表长度: O(1)
链表:读取元素:O(n);定位(找x): O(n);插入: O(n);删除: O(n);表长度: O(n)
文章来源:https://blog.csdn.net/zc_huiyanruju/article/details/135373530
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!