数据在代码中被处理和操作的最小单位动作是增、删、查。他们是深入学习数据结构的根基,通过“增删查”操作,我们可以选择更合适的数据结构来解决实际工作中遇到的问题。例如几个客户端分别分别向服务端发送请求,服务端要采取先到先得的处理方式,应该如何设计数据结构呢?本文介绍数据结构之一,线性表。
1.什么是线性表
数据结构是数据的组织方式。那么线性表就是数据的组织方式之一。线性表是n个数据元素的有限列表,最常用的是链式表达,通常也叫作线性链表或链表。
在链表中存储的数据元素叫做结点,一个结点存储的就是一条数据记录。每个结点的结构包括两个部分:一是具体的数据值;二是指向下一结点的指针。
- 在链表最前面通常有个头指针用来指向第一个结点
- 最后一个结点的指针通常是空指针
链表通常分为:单向链表、双向链表、循环链表、双向循环链表。
2.链表的基本操作
在这里主要介绍单向链表的增删查操作,其他类型的链表与此雷同,就不再重复介绍了。
2.1 增
链表在执行数据新增的时候非常容易,只需要把待插入结点的指针指向原指针的目标,把原来的指针指向待插入的结点,就可以了。如下图所示: