"ACM程序设计与STL应用讲稿:常用STL类及应用"
版权申诉
169 浏览量
更新于2024-02-25
收藏 906KB PDF 举报
#include <stack> 3.声明栈对象 stack<int> st; 4.插入元素 st.push(1); 5.删除元素 st.pop(); 6.取栈顶元素 int topElement = st.top(); 华南师大讲稿 华南师大讲稿 应用场景 • 括号匹配 • 表达式求值 • 迷宫求解 华南师大讲稿 队列(queue) 定义:只允许在一端插入,在另一端删除的线性表 队首(front): 允许删除的一端 队尾(back): 允许插入的一端 特点 先进先出(FIFO) 出队 入队 华南师大讲稿 华南师大讲稿 使用方法 1.引用头文件 #include <queue> 2.声明队列对象 queue<int> q; 3.插入元素 q.push(1); 4.删除元素 q.pop(); 5.取队首元素 int frontElement = q.front(); 6.取队尾元素 int backElement = q.back(); 华南师大讲稿 华南师大讲稿 应用场景 • 广度优先搜索(BFS) • 缓冲区管理 • 模拟排队情况 华南师大讲稿 优先队列(priority_queue) 定义:具有优先级顺序的队列,每次出队的是优先级最高的元素 特点 对内部元素进行排序 出队 华南师大讲稿 华南师大讲稿 使用方法 1.引用头文件 #include <queue> 2.声明优先队列对象 priority_queue<int> pq; 3.插入元素 pq.push(1); 4.删除元素 pq.pop(); 5.取队首元素 int topElement = pq.top(); 华南师大讲稿 华南师大讲稿 应用场景 • 任务调度 • 求Top k 问题 • Dijkstra算法 华南师大讲稿 结语 STL中的栈、队列、优先队列是非常常用且实用的数据结构,能够解决很多实际问题。上面我们介绍了它们的定义、特点、使用方法以及应用场景,希望能够帮助大家更好地理解和应用这些数据结构。未来的学习中,希望大家能够多多实践,加深对这些知识点的理解和掌握。
2022-06-17 上传
204 浏览量
2018-05-28 上传
379 浏览量
251 浏览量
wxg520cxl
- 粉丝: 25
- 资源: 3万+
最新资源
- RFID 读写器设计
- 射频识别技术及其在室内定位中的应用
- 职业规划设计——网络工程师
- mkl reference manual
- 华为PCB布线规范 -共享
- Fedora_10_Installation_Guide_Chinese
- virtex-5 用户手册(中文)
- css+div 用于页面布局
- struts1.x配置
- AutoCAD形文件的自动生成
- MATLAB 绘图的PPt
- 微机实验 汇编语言 bcd
- Architecture Independent For Wireless Sensor.pdf
- Linux Command Directory
- 经典路由器配置实例(案例分析)
- openmp 编程指南