欢迎来到天天文库
浏览记录
ID:30485309
大小:22.49 KB
页数:24页
时间:2018-12-30
《顺序栈操作实验报告出现的问题》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划顺序栈操作实验报告出现的问题 数据结构实验三 课程数据结构实验名称顺序栈基本操作第页专业班级学号姓名 实验日期:年月日评分 一、实验目的 1.熟悉并能实现栈的定义和基本操作。 2.了解和掌握栈的应用。 二、实验要求 1.进行栈的基本操作时要注意栈"后进先出"的特性。 2.编写完整程序完成下面的实验内容并上机运行。 3.整理并上交实验报告。 三、实验内容 1.编写程序任意输入栈长度和栈中的元素值,构造一个顺序栈,对其进行清空、
2、销毁、入栈、出栈以及取栈顶元素操作。 2.编写程序实现表达式求值,即验证某算术表达式的正确性,若正确,则计算该算术表达式的值。主要功能描述如下: 从键盘上输入表达式。 分析该表达式是否合法:目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 ? ? ?a)是数字,则判断该数字的合法性。若合法,则压入数据到堆栈中。b)是规定的运算符,则根据规则进行处理。在处理过程
3、中,将计算该表达式的值。c)若是其它字符,则返回错误信息。 若上述处理过程中没有发现错误,则认为该表达式合法,并打印处理结果。 程序中应主要包含下面几个功能函数: ? ?lvoidinitstack():初始化堆栈lintMake_str():语法检查并计算 ? ? ? ? ? ? ?目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 ?lintpu
4、sh_operate(intoperate):将操作码压入堆栈lintpush_num(doublenum):将操作数压入堆栈lintprocede(intoperate):处理操作码lintchange_opnd(intoperate):将字符型操作码转换成优先级lintpush_opnd(intoperate):将操作码压入堆栈lintpop_opnd():将操作码弹出堆栈lintcaculate(intcur_opnd):简单计算+,-,*,/ldoublepop_num():弹出操作数 四、实验步骤 第一题: #include usingna
5、mespacestd; #defineSTACK_INIT_SIZE100//存储空间初始分配量 #defineSTACKINCREMENT10//存储空间分配增量 #defineOVERFLOW-1 #defineOK1 #defineNO-1 #defineNULL0 typedefintStatus; typedefcharSElemType; typedefstruct { SElemType*base;//在栈构造之前和销毁之后,base的值为NULL SElemType*top;//栈顶指针目的-通过该培训员工可对保安行业
6、有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 intstacksize;//当前已分配的存储空间,以元素为单位 }SqStack; StatusInitstack(SqStack&S)//构造一个空栈S { =(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType)); if(!) exit(OVERFLOW); =; =STACK_
7、INIT_SIZE; returnOK; }//InitStack StatusStackEmpty(SqStack&S) { if(==) returnOK; else returnNO; } StatusClearStack(SqStack&S)//把S置为空目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 { if(=); returnOK
8、; } StatusDsetroyStack(S
此文档下载收益归作者所有