首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【C++】STL详解(四)---Stack和Queue

【C++】STL详解(四)---Stack和Queue

作者头像
用户11367452
发布于 2025-05-31 05:10:58
发布于 2025-05-31 05:10:58
13900
代码可运行
举报
文章被收录于专栏:学习学习
运行总次数:0
代码可运行

Stack

Stack是一种容器,是基本的数据结构之一,特点是先进后出。

定义方式

方式一:普通定义方式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
stack<int> st1;

方式二:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
stack<int,vector<int>> st2;
stack<int,list<int>> st3

注意: 如果没有为stack指定特定的底层容器,默认情况下使用deque。

使用方式

stack当中常用的成员函数如下:

成员函数

功能

empty

判断栈是否为空

size

获取栈有效元素个数

top

获取栈顶元素

push

元素入栈

pop

元素出栈

swap

交换两个栈的数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	stack<int, vector<int>> st;
	st.push(1);
	st.push(2);
	st.push(3);
	st.push(4);
	cout << st.size() << endl; //4
	while (!st.empty())
	{
		cout << st.top() << " ";
		st.pop();
	}
	cout << endl; //4 3 2 1
	return 0;

Queue

队列是一种容器适配器,专门用在具有先进先出操作的上下文环境中,其只能从容器的一端插入元素,另一端提取元素。

定义方式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
queue的定义方式
方式一: 使用默认的适配器定义队列。
queue<int> q1;
方式二: 使用特定的适配器定义队列。
queue<int, vector<int>> q2;
queue<int, list<int>> q3;

使用方式

成员函数

功能

empty

判断队列是否为空

size

获取队列有效元素个数

front

获取队头元素

back

获取队尾元素

push

元素入队列

pop

元素出队列

swap

交换两个队列的数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
queue<int, list<int>> q;
	q.push(1);
	q.push(2);
	q.push(3);
	q.push(4);
	cout << q.size() << endl; //4
	while (!q.empty())
	{
		cout << q.front() << " ";
		q.pop();
	}
	cout << endl; //1 2 3 4
	return 0;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-05-30,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Stack
    • 定义方式
    • 使用方式
  • Queue
    • 定义方式
    • 使用方式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档