版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、3.3可用资源STL中的栈和队列,参考书: 1.左飞编数据结构原理与经典问题求解电子, 2008.10 2.P.J.PLAUGER等著 王昕译 C+ STL中文版电力, 2002.5 3.翁惠玉数据结构:思想与实现高教, 2009.8 章小莉 北京电子科技学院 计算机科学与技术系,3.3 STL中的栈和队列,3.3.1 STL中的stack 1 stack类提供的常用方法 2 stack类的使用举例 3.3.2 STL中的queue 1 queue类提供的常用方法 2 queue类的使用举例,STL的适配器,STL中的stack类是一种适配器,是通过简单地修饰线性类deque的接口而获得的另一
2、种容器类。 适配器(Adaptor):一种设计模式,可以将一个类的接口转换为另一个类的接口,使原本因接口不相容而不能合作的类可以一起运行。 STL中的适配器是用来修改其他组件接口的STL组件,是带有一个参数的类模板。 STL包括3种适配器: 容器适配器; 迭代器适配器; 函数适配器;,3.3.1 STL中的stack,(1)stack类提供5种常用方法,(2)stack类的使用举例,举例1:int栈的使用,#include #include #include #include using namespace std; int main() stack myStack;/定义栈 myStack.
3、push(5);/压栈 myStack.push(6); myStack.push(7); myStack.pop(); /出栈 coutmyStack.top()endl; coutmyStack.size()endl; coutmyStack.empty()endl; return 0; ,#include #include #include #include #include using namespace std; int main() ifstream inf; inf.open(temp.txt); if (!inf) cerr s; string line; while (get
4、line(inf,line)/读入一行文本 s.push(line); /压入栈 inf.close(); while (!s.empty()/栈不空,输出栈顶元素 couts.top()endl; s.pop();/弹栈 return 0; ,举例2:字符串栈的使用,3.3.2 STL中的queue,(1)queue类也是容器适配器,与stack相同,修饰deque而来。主要提供6种常用方法,(2)queue类的使用举例,举例1:int队列的使用,#include #include #include #include using namespace std; int main() queue
5、 myQueue; myQueue.push(5);myQueue.push(6);/数据入队列 myQueue.push(7); myQueue.push(8); myQueue.pop();/数据出队 coutmyQueue.front()endl; coutmyQueue.back()endl; coutmyQueue.size()endl; coutmyQueue.empty()endl; return 0; ,#include #include #include using namespace std; bool existOrNot(int num, queue myQueue)
6、while (!myQueue.empty() if (myQueue.front()=num) return true; else myQueue.pop(); return false; int main() queue memQueue; int times=12;int tmpValue; int page =4,3,2,1,4,3,5,4,3,2,1,5;/页面调度序列 for (int i=0; i12; i+) if (memQueue.size()3) memQueue.push(pagei); else if (existOrNot(pagei,memQueue)/查询页面在否 times-; else /不在,弹出第一页,调入新页 memQueue.pop(); memQueue.push(pagei); ,举例2:操作系统的内存调度算法FIFO实现,int size=memQueue.size(); while (size0)/输出当前在内存的页面值 coutmemQueue.front() ; tmpValue=memQueue.front();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026防疫保安面试题目及答案
- 航空航班时刻表管理操作手册系统配置与操作规范
- 旅游业服务质量管理体系建立与实施手册
- 2026管理面试题型分类及答案
- 2026合成网上面试题及答案
- 企业数据挖掘与预测分析培训手册
- 2026年福建省龙岩市高考考前模拟生物试题含解析
- 广东省韶关市2026年高三第二次诊断性检测生物试卷含解析
- 阳光体育健康童年小学主题班会课件
- 关于散发新品宣传手册的通知函(8篇)
- 同居协议分手协议书模板
- 核动力厂厂址评价中的外部人为事件-编制说明
- 人教版初中九年级上册化学第一单元走进化学世界《走进化学实验室》同步练习三
- JJG936-2012示差扫描热计量
- 天津英华国际学校人教版五年级下册数学期末测试题
- 北师大版九年级数学下册 第二章 二次函数复习题(课件)
- 江苏省苏州相城区苏州大学实验学校2023-2024学年小升初七年级上学期分班考英语试卷(含答案)
- 清华大学实验室安全教育考试题库(全)
- SL703-2015灌溉与排水工程施工质量评定表
- DB1410-T 110-2020 地震宏观观测网建设和管理要求
- 七年级数学期中考试质量分析
评论
0/150
提交评论