C++ ——— 学习和使用 stack 类和 queue 类

目录

学习使用 stack 类

实例化一个 stack 类

尾插数据

访问栈顶元素

移除栈顶元素

通过 top() 和 pop() 遍历栈

学习并使用 queue 类

实例化一个 queue 类

插入数据

访问队头的数据

移除队头的数据

通过 front() 和 pop() 遍历队列


学习使用 stack 类

栈的特性是:后进先出,且栈不支持迭代器访问,因为通过迭代器访问的话就不符合栈的后进先出的特性了,所以不支持

实例化一个 stack 类

stack<int> st;

尾插数据

st.push(1);
st.push(2);
st.push(3);
st.push(4);
st.push(5);

数据 1 是最先入栈的,所以也就是最后才能取出来,数据 5 是最后入栈的,那么就是最先取出来

访问栈顶元素

int ret = st.top();

测试代码: 

移除栈顶元素

st.pop();

测试代码:

通过 top() 和 pop() 遍历栈

for (int i = 1; i <= 5; i++)
{
	st.push(i);
}

while (!st.empty())
{
	// 访问当前栈顶元素
	cout << st.top() << " ";
	
	// 移除当前栈顶元素
	st.pop();
}
cout << endl;

测试代码:


学习并使用 queue 类

队列的特性是:先进先出,同样不支持迭代器

实例化一个 queue 类

queue<int> q;

同样是通过模板来自定义实例化类的类型

插入数据

q.push(1);
q.push(2);
q.push(3);
q.push(5);

数据 1 是先进队列的,那么也就是先出队列,数据 5 是最后进队列的,也就是最后出队列

访问队头的数据

cout << q.front() << endl;

测试代码:

移除队头的数据

q.pop();

测试代码:

通过 front() 和 pop() 遍历队列

while (!q.empty())
{
	// 访问当前队头的数据
	cout << q.front() << " ";

	// 移除当前队头的数据
	q.pop();
}
cout << endl;

测试代码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值