栈与队列的实验报告

栈与队列的实验报告

ID:30233816

大小:20.27 KB

页数:13页

时间:2018-12-28

栈与队列的实验报告_第1页
栈与队列的实验报告_第2页
栈与队列的实验报告_第3页
栈与队列的实验报告_第4页
栈与队列的实验报告_第5页
资源描述:

《栈与队列的实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划栈与队列的实验报告    实验二栈和队列实现四则运算  一、实验目的及要求:  1、掌握栈和队列的基本操作:建立、插入、删除、查找、合并  2、掌握用栈和队列的储存3、熟悉C语言上机编程环境4、掌握编译、调试程序的方法  二、实验内容:  采用栈进行表达式的求值,表达式求值是程序设计语言编译中的一个最基本问题。它的实现是栈应用的又一个典型例子,本报告使用的是“算符优先法”求表达式的值。  要把一个表达式翻译成正

2、确求值的一个机器指令序列,或者直接对表达式求值,首先要能够正确解释表达式。若要正确翻译则首先要了解算术四则运算的规则。即:  、先乘除,后加减;、从左算到右;、先括号内后括号外。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  任何一个表达式都是由操作数、运算符和界限符组成的,我们称它们为单词。一般地,操作数既可以是常数也可以是被说

3、明为变量或常量的标识符;运算符可以分为算术运算符、关系运算符和逻辑运算符3类;基本界限符有左右括号和表达式结束符等。为了叙述的简洁,我们仅讨论简单算术表达式的求值问题。这种表达式只包含加、减、乘、除4种运算符。  我们把运算符和界限符统称为算符,它们构成的集合命名为OP。根据上述3条运算规则,在运算的每一步中,任意两个相继出现的算符系之一:  ?1和?2之间的优先级之多是以下3种关  ?1??2?1的优先级低于?2?1??2?1的优先级等于?2?1??2?1的优先级高于?2  根据实际情况推导出如下的优先关系  算符间的

4、优先关系表  有规则,+、-、*和/为?1时优先性均低于“,”由规则,当?1??2  时,令?1??2,“#”是表达式的结束符。为了算法简洁,在表达式左右括号的最左边也虚设了一个“#”构成整个表达式的一对括号。表中的“”表示当左右括号相遇时,括号内的运算已经完成。同理,“#”=“#”表示整个表达式求值完毕。“)”与“”以及“首先输入一个表达式,用一数组记录;  置操作数栈为空栈,表达式起始符“#”为运算符栈的栈底元素;  依次读入表达式中的每个字符,若目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨

5、大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划是操作数则进OPND栈,若是运算符则和OPTR栈的栈顶元素比较优先权后作相应操作,直至整个表达式求值完毕。  三、程序代码  #include#include#include  #defineerror0//错误标志#defineok1//正确标志#defineoverflow-1//溢出标志  #defineStack_Size100//一般表达式运算符

6、和运算数不会很长,100足够用#defineOP_Size7//一共7种运算符  charOP[OP_Size]={'+','-','*','/','(',')','#'};//运算符unsignedcharPrior[7][7]={'>','>','','>','>','>','','>','>','>','>','>','','>','>','>','>','>','','>','','>','>','>','','>','>','structSqStack{  T*top;T*base;intstacksize; 

7、 };//顺序栈结构模板  templateintInitStack(T1&S){  =(T2*)malloc(Stack_Size*sizeof(T2));if(!)exit(overflow);=;  =Stack_Size;returnok;}//初始化栈函数模板  templateintPush(T1&S,T2e){  if(>=){目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺

8、利开展,特制定安保从业人员的业务技能及个人素质的培训计划  =(T2*)realloc(,(+1)*sizeof(T2));=+;  +=1;}  *++=e;returnok;}//入栈函数模板  templateintPop(T1&S,T2&e){  if(==)returnerror;e=*--;returno

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。