数据结构(C++) 愿大家开心学习、学习开心! 数字媒体技术教研室 乐小燕 * 第3章 栈和队列 学习目标 栈的概念特点——栈的ADT及类定义——各操作的算法实现——C++类实现——栈的应用 队列的概念特点——队列的ADT及类定义——各操作的算法实现——C++类实现——队列的应用 优先级队列 双端队列 数字媒体技术教研室 乐小燕 * 3.1.1 栈的定义——栈的逻辑结构 空栈:不含任何数据元素的栈。 (a1, a2, ……, an) 栈:限定仅在表尾进行插入和删除操作的线性表。 栈顶 栈底 允许插入和删除的一端称为栈顶,另一端称为栈底。 3.1 栈——操作受限的线性表 * 插入:入栈、进栈、压栈 删除:出栈、弹栈 特点:后进先出 LIFO 3.1.1 栈的定义——栈的示意图 退栈 进栈 a0 an-1 an-2 ? 栈顶 栈底 思考:有三个元素按a、b、c的次序依次进栈,且每个元素只允许进一次栈,则可能的出栈序列有多少种? 3.1.1 栈的定义——栈的ADT ADT Stack is D: (a1, a2, ……, an) P: Stack //构造函数 Push T x //进栈 Pop T x //出栈 getTop T x //取栈顶 IsEmpty //判栈空 IsFull //判栈满 getSize //获取栈中元素个数 数字媒体技术教研室 乐小燕 * * template class Stack //栈的类定义 public: Stack ; //构造函数 virtual void Push const T x 0; //进栈 virtual bool Pop T x 0; //出栈 virtual bool getTop T x const 0;//取栈顶 virtual bool IsEmpty const 0; //判栈空 virtual bool IsFull const 0; //判栈满 virtual int getSize const 0; ; //计算栈中元素个数 栈的抽象数据类型 顺序栈——栈的顺序存储结构 如何改造数组实现栈的顺序存储? 0 1 2 3 4 5 6 7 8 a1 确定用数组的哪一端表示栈底。 附设指针top指示栈顶元素在数组中的位置。 top 3.1.2 顺序栈—栈的数组存储表示 出栈:top减1 进栈:top加1 栈空:top -1 0 1 2 3 4 5 6 7 8 a1 top a2 top a3 top 栈满:top maxSize-1 栈的顺序存储结构及实现 3.1.2 顺序栈—栈的数组存储表示 * #include #include template class SeqStack : public Stack //顺序栈类定义 private: T *elements; //栈元素存放数组 int top; //栈顶位置 int maxSize; //栈最大容量 void overflowProcess ; //栈的溢出处理 顺序栈类定义 * public: SeqStack int sz 50 ; //构造函数 ~SeqStack delete []elements; //析构函数 void Push const T x ; //进栈 bool Pop T x ; //出栈 bool getTop T x const ; //取栈顶内容 bool IsEmpty const return top -1; bool IsFull const return top maxSize-1; int getSize const return top+1; void MakeEmpty top -1; friend ostream operator ostream os, SeqStack s ; ; * top 空栈 top top top top top a 进栈 b 进栈 a a b a b c d e e 进栈 a b c d e f 进栈溢出 a b d e e 退栈 c * top c 退栈 b 退栈 a b a a 退栈 空栈 top a b d d 退栈 c top a b c top top * 顺序栈的操作 template void SeqStack ::overflowProcess //私有函数:当栈满则执行扩充栈存储空间处理 T *newArray new T[2*maxSiz
您可能关注的文档
最近下载
- 监理人员的个人工作总结.docx VIP
- 顶管工作井(D=6500)计算书.docx VIP
- 科雷傲驱使用手册.pdf VIP
- 人教版一年级下册数学全册单元教材分析.doc
- 八篇2025年度民主生活会个人“五个方面”对照检查发言材料.docx VIP
- 专题17.阅读理解CD篇专练(新高考地区专用)-2022届新高考英语基础记忆及题型解题技巧(含答案解析).docx VIP
- 义煤集团宜阳义络煤业有限责任公司提升运输系统改造项目环境影响报告书.doc VIP
- 工程拆除安全责任保证书.docx VIP
- 亚洲象人工辅助育幼技术规范.docx VIP
- 2023年青岛远洋船员职业学院单招英语考试题库及答案解析.docx VIP
原创力文档

文档评论(0)