【数据结构】【C++STL】栈和FIFO队列

前端之家收集整理的这篇文章主要介绍了【数据结构】【C++STL】栈和FIFO队列前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

其实我就是水一发博客
STL中自带的栈和队列 库分别是stack和queue 支持的最主要的三个操作就是push pop 和top(front)
push是在栈或者队列的顶端放入一组数据
pop在栈中是取出顶端的一组数据 而在队列中是取出最底端的元素
top是访问栈中最顶端的数据
front是访问队列中最底端的数据

水一下代码

//stack
stack<ll> s;
int main(){
        s.push(1);
        s.push(2);
        printf("%d\n",s.top());
        s.pop();
        printf("%d\n",s.top());
}

在这个代码中 第一个输出的数是2 因为它最后入栈 但是随后pop掉了一个数 再输出栈顶元素的时候就变成了 1
如果我们在之后再加两句

s.pop();
        printf("%d\n",s.top());

我们发现程序报错了 pop掉了1 按说栈里面应该什么也没有了

再水另一个代码

//queue
queue<ll> q;
int main(){
        q.push(1);
        q.push(2);
        printf("%d\n",q.front());
        q.pop();
        printf("%d\n",q.front());
}

我们发现第一个输出的数是1 因为1是最先入队的 然后当pop掉第一个数的时候 我们发现再输出的数就是2了 因为1最先入队 也就最先出队了
我们再加两句话

q.pop();
        printf("%d\n",q.front());

这个时候pop掉了2 但是程序却返回了0

差不多就水这些

猜你在找的数据结构相关文章