已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构课程设计报告设计题目: 括号匹配院 系 计算机学院 年 级 11 级 学 生 刘云飞 学 号 E01114295 指导教师 王 爱 平 起止时间 9-7/9-14 课程设计目的1.熟悉并写出栈的逻辑结构表示2.实现栈的存储表示3.实现栈的操作内容括号匹配课程设计要求1.在实验报告中写出栈的ADT表示;2.在实验报告中给出数据类型定义和核心算法和程序;3.在实验报告中罗列实验过程中出现的问题和解决的方法;4.打包上交调试后的完整程序,提交实验报告;5.实验之前写出实验报告的大概框架,实验过程中填写完整。6.实验时携带需要上机调试的程序;7.实验评分:实验之前预习占20%,实验报告书写情况占50%,运行情况30%。概要设计1 栈的ADT表示ADT Stack数据对象:D=ai|ai ElemSet,i=1,2,n,n=0数据关系:R1=|ai-1,ai D,i=2,n约定an为栈顶端,a1为栈底端基本操作:Status InitStack(&s)操作结果:构造一个空栈s。Status Push( &s, e)初始条件:栈s已经存在。操作结果:插入元素e为新的栈顶元素。Status Pop( &s, &e)初始条件:栈s已经存在,并不为空。操作结果:删除s的栈顶元素,并用e返回其值。Status Check( &s, e)初始条件:栈s已经存在,并不为空。操作结果:判断括号是否匹配。Status EnterString( &s)ADT Stack2 数据类型定义和核心算法和程序 数据类型定义:typedef int Status;typedef char SElemType;typedef struct /栈的顺序存储表示SElemType* base;SElemType* top;int stacksize;SqStack;int x=0;SElemType a;SElemType e; 核心算法: 程序:#include #include #include #define TURE 1#define FALSE 0#define ERROR 0#define OK 1#define INFEASIBLE -1#define OVERFLOW -2#define STACK_INIT_SIZE 100#define STACKINCREMENT 10typedef int Status;typedef char SElemType;typedef struct /栈的顺序存储表示SElemType* base;SElemType* top;int stacksize;SqStack;int x=0;Status InitStack(SqStack &s)/构造一个空栈Ss.base = (SElemType*)malloc(STACK_INIT_SIZE * sizeof(SElemType);if (!s.base) exit(OVERFLOW);/内存分配失败s.top = s.base;s.stacksize = STACK_INIT_SIZE;return OK;Status Push(SqStack &s,SElemType e)/插入元素e为新的栈顶元素if(s.top-s.base=s.stacksize)/栈满追加存储空间。s.base = (SElemType*)realloc(s.base,(s.stacksize+STACKINCREMENT)*sizeof(SElemType);if(!s.base) exit(OVERFLOW);/内存分配失败s.top = s.base+s.stacksize;s.stacksize += STACKINCREMENT;*s.top+ =e;return OK;Status Pop(SqStack &s,SElemType &e)/若栈不空,则删除s的栈顶元素,用e返回其值,并返回ok;否则返回error。if(s.top = s.base) return ERROR;e = * -s.top;return OK;/Status Check(SqStack &s,SElemType e)SElemType a;Pop(s,a);if( a=( & e=) |a=& e= |a=& e= )return TURE;return ERROR;Status EnterString(SqStack &s)SElemType e;while (1)scanf(%c,&e);if(e=(|e=|e=)Push(s,e);else if(e=)|e=|e=)if(!Check(s,e)return FALSE;break;else if(e!=n)x=1;return FALSE;break;elsebreak;void main()system(cls);system(color 1f);printf(n=n);printf(| *欢迎进入 括号匹配 系统* |n);printf(| 姓名:刘云飞 学号:E01114295 |n);printf(_n);SqStac
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年衡水辅警招聘考试题库附答案详解(研优卷)
- 2023年葫芦岛辅警协警招聘考试真题含答案详解(轻巧夺冠)
- 2024年安徽辅警协警招聘考试真题及1套参考答案详解
- 2023年鸡西辅警招聘考试真题附答案详解(精练)
- 2023年芜湖辅警招聘考试真题含答案详解(完整版)
- 2024年南京辅警协警招聘考试真题及答案详解1套
- 2024年吴忠辅警招聘考试真题含答案详解(研优卷)
- 2024年云阳县辅警招聘考试题库完整参考答案详解
- 2023年铁岭辅警招聘考试真题含答案详解(a卷)
- 2026届山东省济南育英中学数学高二上期末联考模拟试题含解析
- GB/T 6109.11-2025漆包圆绕组线第11部分:155级聚酰胺复合直焊聚氨酯漆包铜圆线
- 2025年语文高考北京试卷及答案
- 2025年陕西铁路物流集团有限公司招聘(56人)笔试历年参考题库附带答案详解
- 2025年泽库县公安局面向社会公开招聘警务辅助人员考试笔试备考试题及答案解析
- 二十届四中全会测试题及答案单选题(20题)
- 2025重庆双福农产品批发市场有限公司招聘综合办公室文员、冻库管理员、招商员等岗位22人备考考试试题及答案解析
- 湖南省娄底市2023-2024学年六年级上学期数学期中试卷(含答案)
- 《思想道德与法治》 课件 第四章 明确价值要求 践行价值准则
- 《黄金分割》 完整版课件
- JJF(电子)0036-2019 示波器电流探头校准规范-(高清现行)
- 《CorelDRAW-X7设计与制作》全书教案完整版电子教案整本书教案最全单元教学设计
评论
0/150
提交评论