1、线性表
线性表是最基本、最简单、也是最常用的一种数据结构。一个线性表是n个具有相同特性的数据元素的有限序列,线性表中数据元素之间的关系是一对一的关系;线性表的逻辑结构简单,便于实现和操作。因此线性表是线性数据结构的一种。
2、栈
栈又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。栈是限定仅在表头进行插入和删除操作的线性表。因此栈是线性数据结构的一种。
特点:栈是允许在同一端进行插入和删除操作的特殊线性表,栈可以用来在函数调用的时候存储断点,做递归时要用到栈。
3、队列
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端进行插入操作,和栈一样,队列是一种操作受限制的线性表。在队列的形成过程中,可以利用线性链表的原理,来生成一个队列;队列和栈一样只允许在断点处插入和删除元素。因此,队列是线性数据结构的一种。
4、双端队列
双端队列是指允许两端都可以进行入队和出队操作的队列,其元素的逻辑结构仍是线性结构。将队列的两端分别称为前端和后端,两端都可以入队和出队。因此,双端队列是线性数据结构的一种。
特点:对于双端队列,在序列的两端插入元素的时间复杂度均为常数,在中间插入元素的时间复杂度与插入点到最近序列端点的距离成正比。
5、数组
数组是用于储存多个相同类型数据的集合。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。因此,数组是线性数据结构的一种。
特点:数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起;数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。
6、串
串是零个或多个字符组成的有限序列。一般记S=‘a1a2….an ’其中,S是串名,单引号括起的字符序列是串值;ai(1〈=i〈=n)可以是字母,数字或其它字符。串中所包含的字符个数为该串的长度;长度为零的串称为空串,它不包含任何字符。因此,串是线性数据结构的一种。