logo

您所在位置网站首页 > 海量文档  > 学术论文 > 开题报告

5.7表达式类型的实现.doc 22页

本文档一共被下载: ,您可全文免费在线阅读后下载本文档。

  • 支付并下载
  • 收藏该文档
  • 百度一下本文档
  • 修改文档简介
全屏预览

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
特别说明: 下载前务必先预览,自己验证一下是不是你要下载的文档。
  • 内容提供方 mx597651661(上传创作收益人)
  • 发布时间:2017-09-17
  • 需要金币200(10金币=人民币1元)
  • 浏览人气
  • 下载次数
  • 收藏次数
  • 文件大小:194 KB
下载过该文档的会员
你可能关注的文档:
<<数据结构>> 课程设计报告 题 目 5.7表达式类型的实现 200 8年7月 表达式类型的实现 一、存储结构定义} 数据关系:R1={<ai-1,ai>|ai-1,ai属于D,i=2,……,n} 约定an端为栈顶,a1端为栈底。 基本操作: InitStack(&S) 操作结果:构造一个空栈S。 DestroyStack(&S) 初始条件:栈S已存在。 操作结果:栈S被销毁。 GetTop(S,&e) 初始条件:栈S已存在且非空。 操作结果:用e返回S的栈顶元素。 Push(&S,e) 初始条件:栈S已存在。 操作结果:插入元素e为新的栈顶元素。 Pop(&S,&e) 初始条件:栈S已存在且非空。 操作结果:删除S的栈顶元素,并用e返回其值。 }ADT Stack 程序的头文件如下: #include <stdlib.h> #include "iostream.h" #include "stdio.h" #include "malloc.h" #define TRUE 1 #define FALSE 0 #define OK 1 #define OVERFLOW -1 #define ERROR 0 #define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 ///数据类型定义 typedef int Status; typedef struct BiTNode { int tdata;//放int数据,当有数字时,data='&',用'&'标志结点放的是数字 char data;//放字母和运算符号 struct BiTNode *lchild,*rchild; }BiTNode,*BiTree; ///栈的数据类型定义 typedef char SElemType; typedef struct //用于前缀表达式建立二叉树时的栈类型。 { SElemType *base; SElemType *top; int stacksize; }SqStack; typedef struct //用于原表达式建立二叉树时的栈类型。 { BiTree *base; BiTree *top; int stacksize; }SBStack; SBStack S1; SqStack S; //借用该栈来实现阿拉伯数字的输入 SqStack PTR; ////栈的函数声明 void Merger(); void output(); void yuanput(); Status IntiStack(SqStack &S); int StackLength(SqStack S); Status Push(SqStack &S,char e); char Pop(SqStack &S); Status DestroyStack(SqStack &S); Status GetTop(SqStack S,char &e); Status IntiSBtack(SBStack &S); Status BPush(SBStack &S, BiTNode *e); BiTree BPop(SBStack &S); char GetTop(SqStack S); char bPop(SqStack &S,char &e); /////////////////////////////// void input(); //输入表达式 Status IntiBiTree(BiTree &T);//二叉树的初始化 Status DestroyBiTree(BiTree &T);//二叉树的销毁 Status CreateBiTree(BiTree &T);//前缀表达式建立二叉树 void CrtExptree(BiTree &T);//原表达式建立二叉树 void CrtNode(BiTree &T, char ch); void CrtSubtree (BiTree &T, char c); Status PreOrderTraverse(BiTree T,Status (* Visit)(BiTNode *e));//先序遍历 int pow10(int b);//10的b方 ////////////////////////// Status PrintBiTree(BiTree e);//树的先序输出 Status MergeConst(BiTree &T);//合并(一次) Status MergeConst5(BiTree &T);//设五次内能合并完整 Status Assign(BiTree &T);//变量附值 Status assignn

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片

“原创力文档”前称为“文档投稿赚钱网”,本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。原创力文档是网络服务平台方,若您的权利被侵害,侵权客服QQ:3005833200 电话:400-0500-739 欢迎举报,上传者QQ群:784321556