队列采取先进先出的特点(FIFO)

queue,即队列。

定义

queue<int> q1;

基本函数

queue<int> q1;
q1.back(); //返回最后一个引用,即指向队列最后一个元素
q1.empty(); //判断是否为空
q1.front(); //返回队列第一个元素的引用
q1.pop();//删除队列的一个元素
q1.push();//在末尾加一个元素
q1.size();//返回队列中元素的个数

stack,即栈,采用先进后出(FILO)的方法,元素的插入和删除都只能在容器的尾部进行

  1. empty(判断是否为空)
  2. size (返回栈的元素个数)
  3. back (返回栈顶元素)
  4. push_back (入栈)
  5. pop_back (出栈)

    删除最顶部的元素,使栈的大小减小

    这个被删除的元素,是刚刚插入栈的元素,这个元素和top函数的返回值是一致的。

  6. top() 返回栈顶元素的引用。
    由于栈是一种先进后出的结构,所以最顶部的元素就是最后插入栈的元素

基本的用法

stack<int>s;  

s.push(1);  

s.push(2);  

cout << s.top() << endl;    //输出2  

s.top() += 3;               //引用可以作为左值  

cout << s.top() << endl;    //输出5  

栈是没有clear和erase函数的

如果想要清空一个栈只能通过循环调用的方法

while(!s.empty())

  s.pop();