STL-stack栈容器&queue队列容器

时间:2023-02-07 23:00:31

<a name="LfCAT"></a>

stack栈容器基本概念

stack是一种先进后出(​​Frist In Last Out,FILO​​)的数据结构,它只有一个出口<br />

STL-stack栈容器&queue队列容器

<br />栈中只有顶端的元素才可以被外界访问,因此栈不允许有遍历行为<br />栈中进入数据称为入栈:

  • ​.push(elem);​

栈中弹出数据称为出栈:

  • ​.pop();​​ <a name="AqKIr"></a>

stack容器常用接口

构造:

  • ​stack<T>stk;​​//默认构造
  • ​stack(const stack& stk);​​//拷贝构造

赋值操作:

  • ​stack& operator=(const stack& stk);​​//重载等号运算符

数据存取:

  • ​.push(elem);​​//向栈顶添加元素
  • ​.pop();​​//从栈顶移除第一个元素
  • ​.top();​​//返回栈顶元素

大小操作:

  • ​.empty();​​//判断是否为空
  • ​.size();​​//返回栈的大小
stack<int>stk;
stk.push(1);
stk.push(2);
cout << stk.top() << stk.empty() << stk.size() << endl;
stk.pop();
cout << stk.top() << stk.empty() << stk.size() << endl;

<a name="pHD10"></a>

queue队列容器基本概念

queue是一种先进先出(​​First In First Out,FIFO​​)的数据结构,他有两个出口<br />

STL-stack栈容器&queue队列容器

<br />队列容器允许从一端新增元素,从另一端移除元素<br />队列中只有队头和队尾才可以被外界访问,因此队列不允许有遍历行为<br />队列中进数据称为入队:

  • ​.push(elem);​

队列中出数据称为出队:

  • ​.pop();​​ <a name="oeUI5"></a>

queue常用接口

构造函数:

  • ​queue<T>que;​​//默认构造
  • ​queue(const queue& que);​​//拷贝构造函数

赋值操作:

  • ​queue& operator=(const queue& que);​​//重载等号运算符

数据存取:

  • ​.push(elem);​​//往队尾添加元素
  • ​.pop();​​//移除队头元素
  • ​.back();​​//返回最有一个元素
  • ​.front();​​//返回第一个元素

大小操作:

  • ​.emtpy();​​//判断大小是否为空
  • ​.size();​​//返回元素个数