• STL中的queue用法与stack用法对比


    <queue>是STL中的队列,特点是先进先出,方便我们不用自己去构造队列,包含在头文件#include<queue>中。

    定义一个队列:queue<int>  q;(数据类型可以根据自己的需要来定义)

    基本操作:

    入队:q.push(x),将元素添加到队列的末尾。

    出队:q.pop(),弹出队列的第一个元素(并不返回该元素的值)。

    访问队首元素:q.front(),返回队首元素的值。

    访问队尾元素:q.back(),放回队尾元素的值。

    判断队列是否为空:q.empty(),如果队列为空,返回true。

    计算队列中的元素个数:q.size(),返回队列中的元素个数。

    举例:

    #include<iostream>
    #include<queue>
    using namespace std;
    int main()
    {
        queue<int> q;
        q.push(1);//将一到四的添加到队列中,每次的添加时都添加到队列的末尾,添加完之后顺序为1,2,3,4; 
        q.push(2);
        q.push(3);
        q.push(4);
        int qlen=q.size();//计算队列中的元素个数;
        cout<<"队列中的元素个数为:"<<qlen<<endl; 
        while(!q.empty())//判断队列是否为空,为空时就跳出循环;
        {
            int x=q.front();//访问队列的第一个元素;
            cout<<x<<" ";//输出队首元素;
            q.pop(); //弹出队首元素; 
         } 
         return 0;
    }
     

    运行结果: 

    <stack>是STL中的栈,特点是后进先出(跟我们平时放书在箱子中同理),包含在头文件#include<stack>

    定义一个栈:stack<int>  s;(数据类型可以根据自己的需要来定义)

    基本操作:

    入栈:s.push(x);将x添加到 栈中(添加到栈顶)。

    出栈:s.top();返回栈顶元素。

    弹出栈顶元素:s.pop();

    计算栈中的元素个数:s.size();

    判断栈是否为空:s.empty();栈为空数返回true。

    举例:

    #include<iostream>
    #include<stack>
    using namespace std;
    int main()
    {
        stack<int> s;
        s.push(1);//将1,2,3,4依次放入到栈顶; 
        s.push(2);
        s.push(3);
        s.push(4);
        int slen=s.size();//计算栈 中的元素个数; 
        cout<<"栈中的元素个数为:"<<slen<<endl; 
        while(!s.empty())//如果为空栈,跳出循环
        {
            int x=s.top();//返回栈顶元素; 
            cout<<x<<" ";
            s.pop();//弹出栈顶元素; 
         } 
         return 0;
    }

    运行结果:

  • 相关阅读:
    Scala-函数
    Scala--循环
    scala(一)
    拦截器filter
    Ajax实现分页二
    并发1
    泛型
    协议protocol
    结构体structure
    类的继承
  • 原文地址:https://www.cnblogs.com/zhoubo123/p/11510732.html
Copyright © 2020-2023  润新知