ShuangChenYue ShuangChenYue
首页
  • Cpp之旅
  • Cpp专栏
  • Effective_CPP
  • muduo网络库
  • Unix环境高级编程
  • Cpp提高编程
  • 计算机网络
  • 操作系统
  • 数据结构
  • Linux
  • 算法
  • 基础篇
  • MySql
  • Redis
  • 电子嵌入式通信协议
  • 深入浅出SSD
  • 文件系统
  • 汇编语言
  • STM32
  • 随笔(持续更新)
  • Git知识总结
  • Git 创建删除远程分支
  • nvm使用小结
  • 虚拟机固定 IP 地址
  • Shell 脚本学习笔记
  • VScode 插件 CodeGeeX 使用教程
  • KylinV10 将项目上传至 Github教程
  • KylinV10 安装 MySQL 教程(可防踩雷)
  • kylinV10-SP1 安装 QT
  • 高并发内存池
  • USBGUARD 项目编译环境配置
  • Power_Destory 项目
  • U 盘清除工具编译教程
  • 个人博客代码推送教程
  • HTML与CSS
  • JS学习
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • MFC编程随记
  • MFC实现ini配置文件的读取
  • MFC实现点击列表头排序
  • 贴图法美化Button按钮
  • 如何高效阅读嵌入式项目代码
  • NAND Flash
  • ARM 处理器
  • 嵌入式基础知识-存储器
  • 闪存存储和制造技术概述
  • 芯片IO驱动力
  • 主流先进封装技术介绍
  • 虎牙C++技术面经
  • 金山一面复习
  • 完美世界秋招 C++ 游戏开发面经(Cpp部分)
  • 博客搭建
  • 网站收藏箱
首页
  • Cpp之旅
  • Cpp专栏
  • Effective_CPP
  • muduo网络库
  • Unix环境高级编程
  • Cpp提高编程
  • 计算机网络
  • 操作系统
  • 数据结构
  • Linux
  • 算法
  • 基础篇
  • MySql
  • Redis
  • 电子嵌入式通信协议
  • 深入浅出SSD
  • 文件系统
  • 汇编语言
  • STM32
  • 随笔(持续更新)
  • Git知识总结
  • Git 创建删除远程分支
  • nvm使用小结
  • 虚拟机固定 IP 地址
  • Shell 脚本学习笔记
  • VScode 插件 CodeGeeX 使用教程
  • KylinV10 将项目上传至 Github教程
  • KylinV10 安装 MySQL 教程(可防踩雷)
  • kylinV10-SP1 安装 QT
  • 高并发内存池
  • USBGUARD 项目编译环境配置
  • Power_Destory 项目
  • U 盘清除工具编译教程
  • 个人博客代码推送教程
  • HTML与CSS
  • JS学习
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • MFC编程随记
  • MFC实现ini配置文件的读取
  • MFC实现点击列表头排序
  • 贴图法美化Button按钮
  • 如何高效阅读嵌入式项目代码
  • NAND Flash
  • ARM 处理器
  • 嵌入式基础知识-存储器
  • 闪存存储和制造技术概述
  • 芯片IO驱动力
  • 主流先进封装技术介绍
  • 虎牙C++技术面经
  • 金山一面复习
  • 完美世界秋招 C++ 游戏开发面经(Cpp部分)
  • 博客搭建
  • 网站收藏箱
  • Cpp之旅

  • Cpp专栏

  • Effetcive_CPP

  • muduo网络库

  • Unix环境高级编程

  • Cpp提高编程

    • 函数模板
    • 类模板
    • 初识STL
    • string 容器
    • vector 容器
    • deque 容器
    • stack 容器
      • 7、stack 容器
        • 7.1 stack 常用接口
        • 7.2 stack 遍历
    • queue 容器
    • list 容器
    • set 容器
    • map 容器
    • STL 函数对象
  • CPP语言
  • Cpp提高编程
霜晨月
2023-12-21
目录

stack 容器

# 7、stack 容器

概念:

  • stack 是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口

1694780590615

  • 栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为
  • 栈中进入数据称为 --- 入栈 push
  • 栈中弹出数据称为 --- 出栈 pop

# 7.1 stack 常用接口

功能描述:

构造函数:

stack<T> stk;				// stack 采用模板类实现,stack 对象的默认构造形式
stack(const stack &stk);	// 拷贝构造函数
1
2

赋值操作:

stack& operator=(const stack &stk); 	// 重载等号操作符
1

数据存取:

push(elem);	// 向栈顶添加元素
pop();		// 从栈顶移除第一个元素
top();		// 返回栈顶元素
1
2
3

大小操作:

empty();	// 判断堆栈是否为空
size();		// 返回栈的大小
1
2
#include <iostream>
#include <stack>
using namespace std;

void test01() {
	stack<int> st;
	st.push(10);
	st.push(20);
	st.push(30);

	while (!st.empty()) {
		// 输出栈顶元素
		cout << "栈顶元素为:" << st.top() << endl;
		// 弹出栈顶元素
		st.pop();
	}
	cout << "栈的大小为:" << st.size() << endl;
}

int main() {
	test01();
	system("pause");
	return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

总结:

  • 入栈 --- push
  • 出栈 --- pop
  • 返回栈顶 --- top
  • 判断栈是否为空 --- empty
  • 返回栈大小 --- size

# 7.2 stack 遍历

stack<int> st;
for (int i = 0; i < 10; ++i) {
    st.push(i);
}
while( !st.empty()) {
    int tp = st.top();
    st.pop();
}
1
2
3
4
5
6
7
8
上次更新: 2024/6/3 14:54:44
deque 容器
queue 容器

← deque 容器 queue 容器→

Theme by Vdoing | Copyright © 2023-2024 霜晨月
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式