- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
栈的定义
主要内容 栈的定义 栈的实现 应用:桌面计算器 应用:括号匹配检查 抽象数据类型及操作 栈的定义 表和数组的关系 由于可变长的表在计算机中的实现是用一个定长数组实现的,其中定长数组的部分单元并未使用。 然而,我们以后会发现,有很多种方法可以用来完成表的实现,因此我们不能将实现方法的选择和更基本的数据结构的选择和定义相混淆。 栈的定义 举例和示意图 栈的入栈和出栈 栈的入栈和出栈 问题 : 假设有5个元素abcde顺序进栈(进栈过程中可以出栈),出栈序列为dceba,则该栈容量必定不小于多少? 标准模板库 (STL) Standard Template Library (STL) Standard Template Library (STL) Standard Template Library (STL) Information Hiding(信息隐藏) Information Hiding(信息隐藏) Implementation of Stack (栈的实现) Specification of Methods for Stacks Specification of Methods for Stacks(栈的定义和栈的方法) Specification of Methods for Stacks (栈的定义和栈的方法) Specification of Methods for Stacks The Class Specification(类的定义) Pushing, Popping, and Other Methods Pushing, Popping, and Other Methods Pushing, Popping, and Other Methods Pushing, Popping, and Other Methods Pushing, Popping, and Other Methods Encapsulation(封装) 应用:桌面计算器 应用:桌面计算器 Application: A Desk Calculator Application: A Desk Calculator Application: A Desk Calculator Application: A Desk Calculator Application: A Desk Calculator 进一步思考 如果是读入一个由后缀表达式组成的字符串呢? 如果是一个中缀表达式呢? homework P56 Exercise 2.1 E3 E4 P64 Exercise 2.2 E2 E4 P69 Exercise 2.3 E2 应用:括号匹配 应用:括号匹配 应用:括号匹配 应用:括号匹配 抽象数据类型及其实现 抽象数据类型 抽象数据类型 抽象数据类型 抽象数据类型 启示和易范的错误 启示和易范的错误 The identifiers-such as stack-in the Standard template Library are grouped together into what is called the std namespace. The using directive consists of the keywords using and namespace followed by a given namespace. In particular, using namespace std; Informs the compiler that the std namespace is being used, so stack refers to the class defined in the STL, even another file in this project defined it own stack identifier. 直接使用STL中的栈类,而并不需要知道具体的数据保存和操作的细节,这就是一个信息隐藏的例子。 其实,我们以前在程序中使用如数组、结构体等类型,但不需要关心其中的每一个元素在计算机中具体存储的位置及计算机寻址的具体方式,这也是一种信息隐藏的例子。 但两者有不同: 数据的私有性使得我们的栈中不会包含非法或被破坏的数据,所有的栈对象会被初始化以表示一个合法的空栈并且只能由栈的公用方法所修改,从而使数据不被损坏,从而保证数据的完整性。 因此,你是否已经注意到我们的方法的前提都是None. Error_code Stack :: top(Stack_entry item) const /*前置条件:无。 后置条件:如果栈不空,item并赋值为栈顶元素,并返回success,否则
您可能关注的文档
最近下载
- 《停车场运营方案》课件.pptx VIP
- CH∕T9017-2012三维地理信息模型数据库规范..pdf VIP
- DB11_T1834-2021 城市道路工程施工技术规程.docx VIP
- GB-T2689.1-1981恒定应力寿命试验和加速寿命试验方法总则.pdf VIP
- 2024年昆明铁路局人员招聘考试题库及答案解析.docx VIP
- 测量冰的熔化热-JiaxuanLi.PDF
- 《跨境电商》课件——中国跨境电商的发展现状和趋势.pptx VIP
- 《丰收锣鼓》精品课件2022.pptx VIP
- 13S409 建筑生活排水柔性接口铸铁管道与钢塑复合管道安装.docx VIP
- 技术标项目造价全过程咨询控制服务方案12.11-凤凰咀遗址文物保护与考古发掘项目(一期)全过程造价控制服务(127页).docx
文档评论(0)