- 1、本文档共93页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DS03栈和队列课案
第三章 栈和队列 栈------基本概念 栈(Stack)是一种特殊的线性表,其插入和删除操作均在表的一端进行,是一种运算受限的线性表。 允许插入和删除的一端,即变化的一端,称为栈顶,另一端称为栈底,不含元素的栈称为空栈。 栈------基本概念 插入元素时,称为入栈,先进栈的放在栈的底部,后进栈的在栈的顶部;删除元素称为出栈,出栈时,最后进栈的最先被删除,最先进栈的最后出栈,故栈又被称为后进先出(LIFO)线性表。 栈------示意图 栈------举例 1.设栈的输入序列是1,2,3,4,则( )不可能是其出栈序列。 A) 1,2,4,3, B) 2,1,3,4, C) 1,4,3,2, D) 4,3,1,2, 栈------举例 2.设一个栈的输入序列是 1,2,3,4,5,则下列序列中,是栈的合法输出序列的是( )。 A)5 1 2 3 4 B)4 5 1 3 2 C)4 3 1 2 5 D)3 2 1 5 4 栈-----实现 栈的顺序存储结构——顺序栈 栈的链式存储结构——链栈 顺序栈----构造思想 使用一组连续的存储单元依次存放自栈底到栈顶的数据元素。 通常使用一维数组实现栈的顺序存储,习惯上以数组小下标一端作为栈底。 同时设置一个栈顶指针top指向栈顶元素,随着插入删除而变化。 top=-1时为空栈。 顺序栈----类型定义 typedef struct{ ElemType elem[MAXSIZE]; int top; //栈顶指针 }SeqStack; 顺序栈----基本操作 栈的初始化 Init_SeqStack 判断栈空 Empty_SeqStack 入栈操作 Push_SeqStack 出栈操作 Pop_SeqStack 取栈顶元素 Top_SeqStack 栈的初始化 Init_SeqStack 判断栈空 Empty_SeqStack int Empty_SeqStack(SeqStack *s) { if (s-top==-1) return TRUE; else return ERROR; } 入栈操作 Push_SeqStack 出栈操作 Pop_SeqStack 取栈顶元素 Top_SeqStack ElemType Top_SeqStack(SqStack *s) { if (Empty_SeqStack(s)) return OVERFLOW; else return (s-elem[s-top]); } 顺序栈的几点说明: 1.对于顺序栈,入栈时,首先判断栈是否满,栈满的条件:s-top==MAXSIZE-1。栈满时,不能入栈,否则空间溢出,产生错误,称为上溢。 2.出栈和读取栈顶元素时,要首先判断栈是否为空,为空时产生错误,称为下溢。 顺序栈的几点说明: 3.两个栈共享一个向量空间,减少产生上溢的概率。 练 习 1. 对于栈操作数据的原则是( )。 A. 先进先出 B. 后进先出 C. 后进后出 D. 不分顺序 2. 在作进栈运算时,应先判别栈是否( ① ),在作退栈运算时应先判别栈是否( ② )。当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为( ③ )。 ①, ②: A.空 B.满 C.上溢 D.下溢 ③: A.n-1 B.n C.n D. n/2 练 习 3. 一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1=i=n)个元素是( )。 A. 不确定 B. n-i+1 C. i D. n-i 4. 设一个栈的输入序列是 1,2,3,4,5,则下列序列中,是栈的合法输出序列的是( )。 A. 5 1 2 3 4 B. 4 5 1 3 2 C. 4 3 1 2 5 D. 3 2 1 5 4 练 习 5. 有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?( ) A. 5 4 3 6 1 2 B. 4 5 3 1 2 6 C. 3 4 6 5 2 1 D. 2 3 4 1 5 6 6. 输入序列为A
您可能关注的文档
- 公路工程专用词汇课件.doc
- DMQ540-30门座式起重机安装施工方案(已审批完).doc
- DFYL_CC_系统实施设计_v1.0.doc
- 公路工程内业资料整理填写及归档范例.doc
- 公路工程副高职称考试试卷.doc
- 公路工程冬季施工专项安全技术方案.doc
- 公路工程各科室的操作规程.doc
- 公路工程安全操作规程大全.doc
- DNFpvf文件修改攻略及技能英汉对照表.doc
- 公路工程工地试验检测.ppt
- 浙江省临海市白云高级中学2025届高三历史3月月考试题.doc
- 云南拾谷县第一中学2024_2025学年高二物理上学期10月月考试题.doc
- 2025版高考生物总复习第13讲基因的分离定律教案苏教版.doc
- 湖北省黄石实验高中2024_2025学年高一历史下学期期末考试模拟卷.doc
- 通史版2025版高考历史大一轮复习专题七近代化的曲折发展__中日甲午战争至五四运动前4第4讲从维新思想到新文化运动课后达标检测含解析新人教版.doc
- 2024年高考数学考试大纲解读专题04导数及其应用含解析文.doc
- 河南省许汝平九校联盟2024_2025学年高一语文上学期期末考试试题扫描版无答案.doc
- 江西省吉安市吉水县第二中学2024_2025学年高一历史上学期第二次月考试题.doc
- 北京市平谷区2025届高三政治一模考试试题含解析.doc
- 2025届中考物理第四讲物态变化专项复习测试无答案新人教版.docx
文档评论(0)