已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3.1 有5个元素,其进栈次序为:A、B、C、D、E,在各种可能的出栈次序中,以元素C、D最先出栈(即C第一个且D第二个出栈)的次序有哪几个?(1)B出栈,A出栈,E进栈,E出栈,输出序列为CDBAE;(2)B出栈,E进栈,E出栈,A出栈,输出序列为CDBEA;(3)E进栈,E出栈,B出栈,A出栈,输出序列为CDEBA。 所以可能的次序有:CDBAE、CDBEA、CDEBA。3.2 假设以I和O分别表示进栈和出栈操作,栈的初态和终栈均为空,进栈和出栈的操作序列可表示为仅由I和O组成的序列。(1)下面所示的序列中哪些是合法的?A.IOIIOIOO B.IOOIOIIO C.IIIOIOIO D.IIIOOIOO(2)通过对(1)的分析,写出一个算法判定所给的操作序列是否合法。若合法返回1;否则返回0。(假设被判定的操作序列已存入一维数组中)。1) A、D均合法2)运行结果:核心代码:bool Judge(char a,int n)LiStack *s;InitStack(s);int i=0;char e;bool match=true;while(in & match)if(ai=I)Push(s,ai);else if(ai=O)if(GetTop(s,e)if(e!=I)match=false;elsePop(s,e);elsematch=false;i+;if(!StackEmpty(s) match=false;Destroy(s);return match;3.3 假设表达式中允许包含3种括号:圆括号、方括号和大括号。编写一个算法判断表达式中的括号是否正确配对运行结果:核心源代码:bool Match(char exp,int n)int i=0; char e;bool match=true;LiStack *st;InitStack(st);while(i2 ) /利用ASCII的值判断match=false;elsePop(st,e);elsematch=false;i+;if(!StackEmpty(st)match=false;DestroyStack(st);return match;3.4 设从键盘输入一整数序列a1,a2,.an,试编程实现:当ai0时,ai进队,当ai0时,将队首元素出队,当ai=0时,表示输入结束。要求将队列处理成环形队列,入队和出队操作单独编写算法,并在异常情况时(如队满)打印出错。运行结果:源代码:#include#include#include#define MAXSIZE 3typedef int ElemType;typedef structElemType dataMAXSIZE;int front,rear;Queue;void InitQueue(Queue *&s) s=(Queue*)malloc(sizeof(Queue);s-front=s-rear=0;void DestroyQueue(Queue *&s)free(s);bool QueueEmpty(Queue *q)return (q-front=q-rear);bool enQueue(Queue *&q,ElemType e)if(q-rear+1)%MAXSIZE=q-front)return false;q-rear=(q-rear+1)%MAXSIZE;q-dataq-rear=e;/printf(rear=%d ,q-rear);return true;bool deQueue(Queue *&s,ElemType &e)if(s-front=s-rear)return false ; s-front=(s-front+1)%MAXSIZE;e=s-datas-front;/printf(front=%d,s-front);return true;void DisplayQueue(Queue *s)while(s-front!=s-rear)s-front=(s-front+1)%MAXSIZE;printf(%d ,s-datas-front);int main()int a;int n,i=0,j=0;Queue *s;InitQueue(s);while(1)a=0;printf(请输入一个整数); scanf(%d,&a);if(a0)if(!enQueue(s,a)printf(错误!队满了n);elseprintf(进队成功!n);if(a=0)break;if(a0)if(!deQueue(s,j)printf(错误!队空了n);elseprintf(出队成功n); DisplayQue
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国农垦行业发展环境、市场运行格局及前景研究报告-智研咨询
- 《珠算》课件 项目二 退位减法运算(退十减 退十补五的减)5
- 中国罐箱运输行业市场集中度、市场规模及未来前景分析报告
- 三七灰土垫层详细施工方案及技术要求
- 全国计算机二级WPSOffice高级应用与设计真题第2套2025原题还原模考训练含答案解析
- 垃圾分类普及教育课件
- epdm塑胶跑道的施工方案
- 2026年软件工程师《数据库》真题卷(含答案)
- ESG评级分化背景下绿色建材溢价能力的实证检验与价值重估
- ESG评级体系中木制工艺刷企业社会责任投资的财务回报实证
- 《物联网基础知识》课件
- 建筑公司工程部管理制度
- 《数字化空间设计表现》教学大纲
- 2024年国家大剧院公开招聘专业技术及一般管理人员33人历年高频500题难、易错点模拟试题附带答案详解
- 2024年秋季1530安全教育记录
- 小孩办身份证的委托书范本
- DL-T5704-2014火力发电厂热力设备及管道保温防腐施工质量验收规程
- pvc地胶施工工艺演示
- 《0-3岁婴幼儿营养与喂养》婴幼儿消化系统的特点
- VDA6.5产品审核检查表
- 水源工程建设场地地质灾害危险性评估报告
评论
0/150
提交评论