栈,队列,双向队列
栈:对于栈,有着较为简单的描述,即只可以从栈的最后面来进行进栈和出栈的操作,先进后出,后进先出。
头文件#include < stack >
定义方法:stack<栈中元素类型>栈的名字(这里为了之后方便,将名字定义为sta)
进栈操作:sta.push(元素) 放在栈的最后
出栈操作:sta.pop() 将栈的最后一个元素弹出
返回栈的最后一个元素:sta.top()
判断栈是否为空:sta.empty()==true(为空)sta.empty()=false(不为空)
返回栈元素个数:sta.size()
队列:队列也是一种比较简单的方法,分为双向和单向队列,这里主要描述单向,队列是一种先进先出,后进后出的操作。
头文件#include < queue >
定义方法:queue<对列中元素类型>队列的名字(这里为了之后方便,将名字定义为que)
进队列操作:que.push(元素) 放在队列的最后
出队列操作:que.pop() 将对列的第一个元素弹出
返回队列的最后一个元素:que.back()
返回队列的第一个元素:que.front()
判断队列是否为空:que.empty()==true(为空)que.empty()=false(不为空)
返回队列元素个数:que.size()
双向队列:双向对列是一种非常方便的方法,基本包含了栈与队列所需要的所有操作,可以任意进队列和弹出
头文件#include < deque >
定义方法deque<对列中元素类型>队列的名字(这里为了之后方便,将名字定义为deq)
在队列最前面压入元素deq.push_front()
在队列最后面压入元素deq.push_back()
将对列最后面的元素弹出deq.pop_back()
将对列最前面的元素弹出deq.pop_front()
返回队列最前面的元素deq.front()
返回对列最后面的元素deq.back()
判断队列是否为空:deq.empty()==true(为空)deq.empty()=false(不为空)
返回队列元素个数:deq.size()