- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                第10次课栈的性质生、栈的基本操作
                    首页 教案 主要内容 引例 栈的概念和特点 栈的基本操作 栈的存储 顺序栈的示意图 链栈的示意图 顺序栈的实现 建栈 入栈 检查栈是否满的子函数 改进后的入栈 出栈 检查栈是否为空的子函数 改进后的出栈 显示栈 销毁栈 清除栈 本次课总结 下课 《C语言与数据结构》 第6次课-----循环结构 * 第8章 第10次课----栈的性质、栈的基本操作 《C语言与数据结构》   1.栈的顺序存储方式   2.顺序栈的基本操作 教学重点   顺序栈的实现 教学难点     通过本次课的学习,使学生掌握栈的概念、栈的存储方式、顺序栈的实现。 教学目标 栈的性质、栈的基本操作 教学主题  栈的概念  栈的基本操作  栈的存储  顺序栈的实现  在日常生活中,有一些这样的例子。     例1:食堂师傅把洗好的饭盒按顺序放好,最后洗的饭盒总是放在一叠饭盒的最上面。同学们到食堂就餐时,拿饭盒总是按照由上到下的顺序拿,即总是拿一叠饭盒中最顶上的一个。   例2:有一个盒子,我们在里头放了一叠书。当我们要用书的时候,只能从第一本开始拿;当我们要把书本放进去时,总是放在最上面。  请问:上面的例子中有什么共同的特点? 后放进去的,先拿出来。  什么是栈?     栈是一种特殊的线性表,它只在线性表的一端进行插入和删除操作。     栈中允许插入、删除的这一端称为栈顶,另一个固定端称为栈底。     当表中没有元素时称为空栈。   栈的特点         “先进后出”(First In Last Out)     或“后进先出”(Last In First Out)  栈主要有建栈、入栈、出栈和销毁栈四个基本操作。     建栈:新建一个空栈,向操作系统申请一组存储单元,用于存储栈中的元素。     入栈:将元素压入栈内,存储在栈顶。     出栈:从栈中取出栈顶元素,也称为弹出栈。     销毁栈:把存储单元归还给操作系统。  为了实时了解栈的情况,还需要有输出栈这样的操作。     输出栈:显示栈的内容。  回顾:前面介绍的线性表是采用什么方式存储数据的?  栈与前面介绍过的线性表一样,也可以采用顺序存储结构(数组)或者链式存储结构(链表)。 顺序栈 链栈(单链表)  栈的表示   可以用一个栈顶指针(top)来指示栈顶元素存放的位置,用一个栈底指针(bottom)来指示栈底元素的存放位置。由于栈底位置相对不变,通常不用bottom。 【例】先建栈,然后输入一个整型元素后入栈,显示栈的内容。接下来进行出栈操作,再显示栈的内容。最后销毁栈。  数据结构描述 顺序栈的类型描述如下: #define MAXSIZE  200    struct seqstack {  Elemtype  data[MAXSIZE];    int  top; }; 定义一个指向顺序栈的指针: struct  seqstack  *s;  源程序 运行程序(10_1) 看源程序(10_1)  分析   首先申请栈空间,然后初始化栈顶指针。  流程图  源程序 运行程序(10_1) 看源程序(10_1)  流程图  源程序 int  push_seqstack (struct seqstack *s, Elemtype  x) {  s-data[s-top]=x;    s-top++;    return 1; } 思考:如果不断入栈,会出现什么情况?(10_2) 上溢出  源程序 /*******************************************************/ /*    函 数 名:full_seqstack                              */ /*    函数功能:检查栈是否满                              */ /*    入口参数:s——栈                                      */ /*    返 回 值:栈满返回1,否则返回0                */ /******************************************************/ int  full_seqstack(struct seqstack *s) {           if (s-top == MAXSIZE)  return 1;         else  return 0; }  分析   为了防止上溢发生,在入栈前先检查栈是否满。若未满,则进行入栈操作,否则进行溢栈处理或溢栈报告。  流程图  源程序 运行程序(10_1) 看源程序(10_1)  流程图  源程序 int  pop_seqstack (struct
                您可能关注的文档
- 高校非物质文化遗产传习人的培育到机制研究——以贵州省m大学为例.docx
- 高校毕业生求职行手为的作用机制分析.docx
- 高校“创新者教学法”的实践与研究——以上海师范大学教育都技术学原理课程为例.docx
- 高校高学历行政人员工作满知意度及其影响因素研究——以温州地区为例.docx
- 高校共青团提升大学生创业能力研究——基于大连理工三大学的调查.docx
- 高校公共艺术教育研究现状剖析——末基于统计学的方法.docx
- 高校国有资产管理问题研究——以某综合发性大学为例.docx
- 高校辅导员职业能力swot分析及发展对策研究——基于大连医千科大学实证调查.docx
- 高校国家助学金评选问题研究——以作h大学为例.docx
- 高校后勤集团经营绩效管理研究——以西南科技大学为左例分析.docx
- 浙江国企招聘-2026年兰溪市市属国企(交投集团)下半年公开考前自测高频考点模拟试题(浓缩300题).docx
- 2026年材料员考试题库含答案(新).docx
- 2026年中级银行从业资格之中级银行管理题库300道附参考答案【模拟题】.docx
- 2026年试验检测师之交通工程考试题库300道及答案(网校专用).docx
- 2026年试验检测师之交通工程考试题库300道附参考答案(b卷).docx
- 2026年试验检测师之交通工程考试题库300道及参考答案(达标题).docx
- 2026年试验检测师之交通工程考试题库300道(巩固).docx
- 超星尔雅学习通《形势与政策(2026春)》章节测试题最新.docx
- 2026年国家电网招聘之人力资源类考试题库300道及参考答案ab卷.docx
- 2026年知识百科竞赛考试题库80道及答案【全国通用】.docx
 原创力文档
原创力文档 
                        

文档评论(0)