前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【C++】Stack 与 Queue 容器详解

【C++】Stack 与 Queue 容器详解

作者头像
风中的云彩
发布2025-03-07 10:57:32
发布2025-03-07 10:57:32
6300
代码可运行
举报
文章被收录于专栏:C/C++的自学之路C/C++的自学之路
运行总次数:0
代码可运行

前言

这是我自己学习C++的第八篇博客总结。后期我会继续把C++学习笔记开源至博客上。 上一期笔记是关于C++的list类知识,没看的同学可以过去看看: 【C++】深入理解List:双向链表的应用-CSDN博客

https://cloud.tencent.com/developer/article/2502837

stack类介绍

在使用stack类时,必须包含 #include <stack> 这一行。 string类的底层其实是一个储存字符的顺序表结构,而vector类的底层是一个顺序表模板,使用时需要显示实例化,而list类的底层是一个双向链表模板,使用时也需要显示实例化queue类的底层是一个栈结构模板,使用时也需要显示实例化。 下面是queue类的官方文本介绍,里面有详细的用法讲解。 cplusplus.com/reference/stack/stack/?kw=stack

https://cplusplus.com/reference/stack/stack/?kw=stack

stack类操作

stack<int> s1,构造一个空的stack类对象stack.empty(),检测stack类对象是否为空。 stack.size(),返回stack类对象中的元素个数stack.top(),返回stack类对象栈顶元素stack.push(),向stack类对象栈顶插入元素。 stack.pop(),向stack类对象栈顶弹出元素。

代码语言:javascript
代码运行次数:0
复制
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <stack>
using namespace std;
int main()
{
	stack<int> s1;
	s1.push(1);
	s1.push(2);
	s1.push(3);
	s1.push(4);
	cout << s1.empty() << endl;
	cout << s1.top() << endl;
	cout << s1.size() << endl;
	s1.pop();
	cout << s1.empty() << endl;
	cout << s1.top() << endl;
	cout << s1.size() << endl;
	return 0;
}

queue类介绍

在使用queue类时,必须包含 #include <queue> 这一行。 string类的底层其实是一个储存字符的顺序表结构,而vector类的底层是一个顺序表模板,使用时需要显示实例化,而list类的底层是一个双向链表模板,使用时也需要显示实例化stack类的底层是一个栈结构模板,使用时也需要显示实例化,queue类的底层是一个列队结构模板,使用时也需要显示实例化。 下面是queue类的官方文本介绍,里面有详细的用法讲解。 cplusplus.com/reference/queue/queue/

https://cplusplus.com/reference/queue/queue/

queue类操作

queue<int> q1,构造一个空的queue类对象queue.empty(),检测queue类对象是否为空。 queue.size(),返回queue类对象中的元素个数queue.front(),返回queue类对象列队头元素queue.back(),返回queue类对象列队尾元素queue.push(),向queue类对象列队尾插入元素。 queue.pop(),向queue类对象列队头弹出元素。

代码语言:javascript
代码运行次数:0
复制
#define _CRT_SECURE_NO_WARNINGS
#include <queue>
#include <iostream>
using namespace std;
int main()
{
	queue<int> q1;
	q1.push(0);
	q1.push(1);
	q1.push(2);
	q1.push(3);
	q1.push(4);
	cout << q1.empty() << endl;
	cout << q1.size() << endl;
	cout << q1.front() << endl;
	cout << q1.back() << endl;
	q1.pop();
	cout << q1.empty() << endl;
	cout << q1.size() << endl;
	cout << q1.front() << endl;
	cout << q1.back() << endl;
	return 0;
}

致谢

感谢您花时间阅读这篇文章!如果您对本文有任何疑问、建议或是想要分享您的看法,请不要犹豫,在评论区留下您的宝贵意见。每一次互动都是我前进的动力,您的支持是我最大的鼓励。期待与您的交流,让我们共同成长,探索技术世界的无限可能!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • stack类介绍
  • stack类操作
  • queue类介绍
  • queue类操作
  • 致谢
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档