数据结构
数据元素是数据的基本单位,数据结构右逻辑结构和物理结构两个概念
逻辑结构
- 集合
- 线性结构
- 树形结构
- 图状结构或网络结构
物理结构
- 数据结构的物理结构有两种:顺序存储和链式存储
- 顺序储存结构:用数据元素在储存器中的相对位置来辨识数据元素之间的逻辑关系
- 链式存储结构:每一个数据元素中增加一个存放地址的指针,用指针来表示数据元素之间的逻辑关系
基本数据结构——线性表
如栈和队列
存在唯一一个被称作“第一个”的元素;
存在唯一一个被称为“最后一个”的元素
除了第一个元素,集合中每一个元素都有一个“前驱”;
除了最后一个元素每个元素都有一个“后继”
栈
栈(stack)是一种特殊的线性数据结构,栈中的元素是按照入栈顺序线性排列
栈的特点是:后进先出(LIFO,Last In First Out)
栈的应用
例如递归函数。我们调用函数时相当于把函数压到了一个栈里。每次调用栈顶的函数 。一个函数的结束相当于从栈顶被弹出,继续执行栈顶的函数。
C++用数组模拟栈
1 |
|
C++ STL库 栈
1 |
|