一、数据结构定义
数据结构: 相互之间存在特定关系的数据元素的集合。
结构: 数据元素之间的关系。
二、数据结构分类
基本的4中数据结构:集合、线性、树形、图。 (从结构的角度描述数据结构)
所以一个数据结构,包含两个方面,数据 和 结构。
三、线性数据结构:
1. 定义: 非空的情况下,(1) 存在唯一一个称为“第一个”的数据元素 。(2)存在唯一一个“最后一个”的数据元素。(3)除第一个之外,每个数据元素只有一个前驱。(4)除最后一个元素外,每个数据元素只有一个后继。
线性数据元素的C语言表达的两种方式:
. 数组:连续存储,可随机访问. 链表:不连续存储,只能通过 前驱 或 后继 访问 单项链表 循环 or 非循环 双向链表 循环 or 非循环2. 栈、队列、表
栈、队列、表等 都是 通过限定对线性数据结构特定的操作得到的。栈的先进后出,队列的先进先出,如果需要还可以通过自定义操作的方式,得到自定义的数据结构。
3. 基于 C++ Library Reference的 栈、队列
3.1 栈 stack
线性数据结构,数据只能从一端进和出,先进去的后出来。
functions:
empty : 栈是否为空
size : 栈中数据成员的数量
top : 访问栈顶元素
pop :删除栈顶数据
push :添加数据到栈顶
C++ 函数头 : #include <stack>
reference:
1. 《数据结构》 ---- 严蔚敏、吴伟民