加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 06:08:32 所属栏目:安全 来源:网络整理
导读:其实我就是水一发博客 STL中自带的栈和队列 库分别是stack和queue 支持的最主要的三个操作就是push pop 和top(front) push是在栈或者队列的顶端放入一组数据 pop在栈中是取出顶端的一组数据 而在队列中是取出最底端的元素 top是访问栈中最顶端的数据 front是

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

水一下代码

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

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

s.pop();
        printf("%dn",s.top());

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

再水另一个代码

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

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

q.pop();
        printf("%dn",q.front());

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

差不多就水这些

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读