线性表
最简单的一种数据结构,具有相同类型的数据元素组成的序列。顺序表、链表是其两种简单实现。
备注:数组也可以算一种简单的线性表。
链表可以分为:
-
- 带头结点的简单链表
-
- 不带头结点的简单链表
-
- 静态链表
-
- 循环链表
-
- 双向链表
栈
限定增加和删除数据操作只能在线性表的末端进行,因此是一种受限的特殊线性表。
实现方式有:
-
- 顺序栈
-
- 链栈
栈典型的特点是:数据“后进先出”,栈可以用来实现递归。栈数据结构的主要操作是出栈、入栈。
队列
限定增加数据元素在线性表的末端,删除数据元素在线性表的始端。
实现方式有:
-
- 顺序队列
-
- 循环队列
-
- 链队列
-
- 双端队列
队列典型的特点是:数据“先进先出”,队列使用常见是日常各种“排队”。队列的主要操作包括入队、出队。
数组
最常用最简单的数据结构。C语言内置数组结构,特点是长度固定,无法动态