C++括号匹配.doc_第1页
C++括号匹配.doc_第2页
C++括号匹配.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验二 栈的应用括号匹配 一、实验目的1、掌握STL中栈的基本使用2、练习使用栈进行程序编写二、实验内容括号匹配使用STL中的栈编写程序,实现算术表达式中的括号匹配(有能力的同学可以同时进行小括号,大括号,中括号的匹配)注意:(1)配对的算术表达式中左右括号的数目应相等例如:表达式(a+b)和a+b)中的括号不配对(2)对的算术表达式中每一个左括号都一定有一个右括号与之匹配,并且一定是先出现左括号,才能有右括号例如:表达式)a+b(+c和(b+a)+(c+d也属于不配对的情况算法提示:方式是先创建一个存放左括号的空栈,并将“#”作为栈底元素。顺序扫描表达式,当遇到非括号时,继续扫描,遇到“(”时,进栈,而遇到“)”时,与栈顶元素比较,如果括号匹配,栈顶元素退栈,继续扫描表达式,否则,报错退出。括号配对检查的原则是:对表达式从左向右扫描。当遇到左括号时,左括号入栈;而遇到右括号时,首先将栈中的栈顶元素弹出栈,再比较弹出元素是否与右括号匹配,如果两者匹配,则操作继续;否则,检查出错,打印“no”,并停止操作。当表达式全部扫描完后,如果栈顶元素为“#”,说明括号作用层次嵌套正确,打印“yes”,并停止操作。3、 实验代码#include#includeusing namespace std;int main()char c;int flag=0;stackzhan01;cout请输入表达式:=0) cout匹配成功end

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论