1、 线性表的链式存储结构
1、线性表的链式存储结构—链表
![0c99267e57e2c3efd782e529cf096c5e.png](https://i-blog.csdnimg.cn/blog_migrate/2f5be662aeed45efa58c954a7f43a0a2.jpeg)
(1)如果每个结点只设置一个指向其后继结点的指针成员,这样的链表称为线性单向链接表,简称单链表。
![a1296df2ced0daa647205869e6808c02.png](https://i-blog.csdnimg.cn/blog_migrate/e6737784f045bf7265aff58da88a7a94.jpeg)
(2)如果每个结点中设置两个指针成员,分别用以指向其前驱结点和后继结点,这样的链表称之为线性双向链接表,简称双链表。
![9d0b04b3bba66db4e3220036e3d3ada3.png](https://i-blog.csdnimg.cn/blog_migrate/2d90d82b480130d9ede6d88e9354ae52.jpeg)
2、单链表
每个结点为LinkNode类对象,包括存储元素的数据列表data和存储后继结点的指针属性next。
![2832e0c1c45c2d38bbce4867ef306c37.png](https://i-blog.csdnimg.cn/blog_migrate/653b050b4e1ba768977640ce81cd1178.jpeg)
单链表类LinkList
![ef09436defe7961a5fc211ae1702987c.png](https://i-blog.csdnimg.cn/blog_migrate/dd0733348699fc93f5331b84f26452d1.jpeg)
结点引用方式:
![cec94b200f17bee96832f8d88929a1aa.png](https://i-blog.csdnimg.cn/blog_migrate/13e12c3e9957b3cdaef64b60a0808565.jpeg)
插入结点操作:将结点s插入到单链表中p结点的后面。
![f6892cf4f458e28020dacffb0376fc45.png](https://i-blog.csdnimg.cn/blog_migrate/d66b0685df991f4a17a33ca505fbe721.jpeg)
删除结点操作:删除单链表中p结点的后继结点。
![23a8dc632c6446990378dbfc18578133.png](https://i-blog.csdnimg.cn/blog_migrate/0d3ecb67be599589d129e80267e56510.jpeg)
整体建立单链表
通过一个含有n个元素的a数组来建立单链表。
建立单链表的常用方法有两种:头插法和尾插法。
头插法建表
从一个空表开始,依次读取数组a中的元素。
生成新结点s&#x