网站大量收购闲置独家精品文档,联系QQ:2885784924

数据结构实验报告(栈的应用).doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实习报告 题目:编制一个演示表达式求值的操作的程序 班级:计算机(信息安全) 姓名:学号: 完成日期:2009.3.27 需求分析 本演示程序中,元素限定为int整型和char型。 演示程序以用户和计算机的对话方式执行,即在计算机终端显示“提示信息“后,由用户在键盘上输入演示程序中规定的数值和运算符;相应的结果会显示其后。 程序执行命令包括: 根据用户给出的表达式进行运算 2)输出结果 测试数据 用户输入:1+2# 结果:3 用户输入:12*(2+3)# 结果:60 用户输入:13+5*(23+129)-187# 结果:586 概要设计 为实现上述程序功能,需要一个抽象数据类型:栈 1.栈的抽象数据类型定义为: ADT Stack { 数据对象:D={ai ∈ElemSet …} 数据关系:R={ ai-1,ai…} 基本操作: InitStack(S); //构造空栈S DestroyStack(S); //销毁栈S ClearStack(S); //清空栈S StackEmpty(S); //判断栈空 StackLength(S); //求栈长 GetTop(S,e); //取栈顶 Push(S,e); //入栈 Pop(S,e); //出栈 StackTraverse(S,visit()); //遍历 } ADT Stack 2.本程序包含四个模块: 1)主程序模块: main() { 初始化; 进入用户输入表达式阶段; 根据用户输入的表达式进行计算(利用while循环和栈) 输出运算结果 } 2) 栈单元模块――实现栈抽象数据类型; 3)节点结构单元模块――定义有序表的节点结构。 各模块是之间关系如下: 详细设计 元素类型(此程序固定为int和char) 结点类型 #define STACK_INT_SIZE 100 #define STACKINCREAMENT 10 Typedef char SElemType1; Typedef int SElemType2; typedef struct { SElemType1 *base; SElemType1 *top; int stacksize; } SqStack1; //节点类型(栈) typedef struct { SElemType2 *base; SElemType2 *top; int stacksize; } SqStack2; 2.栈的基本操作: InitStack(L); //构造空栈L GetTop(L,e); //取栈顶 Push(L,e); //入栈 Pop(L,e); //出栈 栈部分操作伪码: InitStack1(SqStack1 L){ //初始化栈 L.base = (SElemType1 *)malloc(STACK_INIT_SIZE *sizeof(SElemType1)); if(!L.base) exit(OVERFLOW); L.top = L.base; //置空栈 L.stacksize =SIZE_INIT_SIZE; } InitStack2(SqStack12L){ //初始化栈 L.base = (SElemType2*) malloc(STACK_INIT_SIZE *sizeof(SElemType2)); if(!L.base) exit(OVERFLOW); L.top = L.base; //置空栈 L.stacksize =SIZE_INIT_SIZE; } GetTop1(SqStack1 L){ //取栈顶元素 if(L.top == L.base) return ERROR; //空 return *(L.top-1);//栈顶指针不变 } GetTop2(SqS

文档评论(0)

139****2545 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档