一、栈
1、栈的定义:
对于由n个数据元素构成的一个线性序列,如果只允许在其指定的一端插入或删除一个数据元素,那么这种逻辑结构称为栈(Stack)或堆栈。
栈是一种”先进后出”或“后进先出”的数据结构。
2、栈的操作(stack):
头文件:
#include <stack>
基本操作:
push(x) //将x加入栈中
pop() //出栈操作,只是出栈,没有返回值
top() //返回第一个元素
size() //返回栈中的元素个数
empty() //当栈为空时,返回 true
二、队列:
1、 队列的定义:
对于由N个数据元素构成的一个线性序列,如果在其固定的一端只允许插入数据元素,且在另一端只允许删除数据元素,这种逻辑结构称为队列(Queue)
队列是一种“先进先出”的数据结构。
2、队列的操作:
头文件:
#include <queue>
基本操作:
push(x) //将x压入队列的末端
pop() //弹出队列的第一个元素,注意此函数并不返回任何值
front() //返回第一个元素
back() //返回最后被压入的元素
empty() //当队列为空时,返回true
size() //返回队列的长度 //当栈为空时,返回 true