当前位置 博文首页 > 梦想之深邃:STL c++ stack与queue容器

    梦想之深邃:STL c++ stack与queue容器

    作者:[db:作者] 时间:2021-09-22 16:55

    之前一直用纯C打代码,繁杂的调用指针、创建结构体来模拟栈和队列,不仅做题速度慢而且正确率也不高,需要频繁的对自己的代码进行验证,通过对于c++的学习知道了两种容器stack和queue,发现之前做过的题目得到很大程度上的简化,而且速度上也有很大的提高。下面我来简单的介绍这两种容器。

    Stack ? 头文件:#include<stack> ? //先进后出型

    定义方式:stack<变量类型> 变量名;

    常用方法:stack<变量类型> s;

    1.入栈:s.push(x); ?//:将x元素置于栈顶;

    2.出栈:s.pop();?//弹出栈顶元素,并不会返回元素的值;

    3.访问栈顶元素: s.top(); ?//返回栈顶元素值

    4.判断栈空: s.empty(); ?//空返回true,反之返回false

    5.栈中元素个数:s.size()

    Queue ?头文件:#include<queue> //先进先出型

    定义方式:queue<变量类型,容器类型> 变量名;//容器类型默认为dqueue类型。

    常用方法:queue<变量类型> q;

    1.入队:如q.push(x) //:将x元素接到队列的末端;

    2.出队:如q.pop() ? //弹出队列的第一个元素,并不会返回元素的值;

    3,访问队首元素:如q.front()

    4,访问队尾元素,如q.back();

    5,访问队中的元素个数,如q.size();

    6.判断队空:q.empty(); ?//空返回true,反之返回false

    下面看一下我之前做过的两道题目,感觉确实有所提高

    第一题:。

    数据结构实验之栈与队列八:栈的基本操作

    Time Limit:?1000 ms Memory Limit:?65536 KiBcs