STL标准模板库·栈和队列与vector

栈(stack)

  • 栈又称栈堆。有FILO(先进后出)的特性。
  • 栈的定义
//[定义]
stack<typename> name;
//[例子]
stack<int> s;
stack<double> s;
stack<node> s;
push(a)
//使a进栈
pop()
//弹出栈顶元素
top()
//获取栈顶元素
empty()
//判断栈是否为空,空返回true,非空则返回false
size()
//返回栈内元素数

队列(queue)

  • 队列是线性表的一种。
  • 队列有着FIFO(先进先出)的特性。
//[定义]
queue<typename> name;
//[例子]
stack<int> s;
push(a)
//将a入队
pop()
//将队首元素出队
front()
//获取队首元素
back()
//获取队尾元素
empty()
//判断队列是否为空,空返回true,非空则返回false
size()
//返回队列内元素数

优先队列(queue)

  • 拥有队列拥有的特征。
  • 优先级大的元素总是排在前面。
//[例子]
prioity_queue<int, vector<int>, greater<int> > q;//递增
prioity_queue<int, vector<int>, greater<int> > q;//递减
push(a)
//将a入队
pop()
//将队首元素出队
top()
//获取队首元素
empty()
//判断队列是否为空,空返回true,非空则返回false
size()
//返回队列内元素数

vector

  • vector又称动态数组,也就是长度可以改变的数组。
//[定义]
vector<typename> name;
//[例子]
vector<int> v;
vector<node> v;

vector一般通过下标来访问。

cout << v[n];
3 个赞