C++STL - Stack(栈)和 Queue(队列) 篇

本文介绍了C++ STL中的栈和队列。栈遵循后进先出(LIFO)原则,而队列则遵循先进先出(FIFO)原则。在STL中,栈和队列都是预定义的容器适配器,无需初始化即可使用。文章详细讨论了它们的基本操作。

概述

栈和队列是两个特殊的线性表,栈的特性是后进先出,队列的特性是先进先出,二者在STL中都已经实现了,如果需要使用他们的话需要分别加上头文件。

#include<stack>
#include<queue>

using std::stack;
using std::queue;

栈和队列的定义和初始化

与Vector不同,栈和队列定义时默认初始化,不能提供初始值。

stack<int> st;
queue<char>que;
//stack和queue 表示容器类型,int和char表示存储的元素类型,st和que表示定义的容器的名字。 

栈和队列的基本操作

栈的基本操作

st.empty()//检查栈是否为空,返回值bool类型
st.size()//返回栈中元素个数,int类型
st.pop()//把栈顶元素弹出,无返回值
x = st.top()//返回栈顶元素
s.push(x);//将x压入栈顶。

队列的基本操作

que.empty();//检查队列是否为空,bool类型
que.size();//返回队列中元素个数,int类型
que.pop();//删除队首元素,无返回值
que.front();//返回对手元素
que.push(x);//将x压入队尾,无返回值
que.back();//返回队尾元素
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值