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

177 阅读1分钟

stack栈容器基本概念

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

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

  • .push(elem);

栈中弹出数据称为出栈:

  • .pop();

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;

queue队列容器基本概念

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

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

  • .push(elem);

队列中出数据称为出队:

  • .pop();

queue常用接口

构造函数:

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

赋值操作:

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

数据存取:

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

大小操作:

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