1 / 9
文档名称:

数据结构实验3 实验报告.doc

格式:doc   大小:138KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构实验3 实验报告.doc

上传人:mh900965 2018/2/19 文件大小:138 KB

下载得到文件列表

数据结构实验3 实验报告.doc

相关文档

文档介绍

文档介绍:实验报告3
课程数据结构实验名称顺序栈基本操作第页
专业计算机科学与技术班级_计五__ 学号_105032010048 姓名廖江土
实验日期: 2010 年 9 月 28 日评分
一、实验目的


二、实验要求
"后进先出"的特性。


三、实验内容
,构造一个顺序栈,对其进行清空、销毁、入栈、出栈以及取栈顶元素操作。
,即验证某算术表达式的正确性,若正确,则计算该算术表达式的值。
主要功能描述如下:
(1)从键盘上输入表达式。
(2)分析该表达式是否合法:
a) 是数字,则判断该数字的合法性。若合法,则压入数据到堆栈中。
b) 是规定的运算符,则根据规则进行处理。在处理过程中,将计算该表达式的值。
c) 若是其它字符,则返回错误信息。
(3)若上述处理过程中没有发现错误,则认为该表达式合法,并打印处理结果。
四、实验步骤
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
#define OK 1
#define ERROR -1
#define TRUE 1
#define FALSE 0
#define OVERFLOW 0
typedef int Status;
typedef int SElemType;
#include<string>
#include<iostream>
using namespace std;
//
typedef struct{
SElemType *base;
SElemType *top;
int stacksize;
}SqStack;
Status InitStack(SqStack & S ) //构造一个顺序栈
{
=(SElemType *)malloc(STACK_INIT_SIZE * sizeof(SElemType));
if(!)
exit(OVERFLOW);
=;
=STACK_INIT_SIZE;
return OK;
}
Status ClearStack(SqStack &S) //清空、
{
if(!=)
{
=;
=0;
}
return OK;
}
Status DestroyStack(SqStack &S)//销毁、
{
free();
if()
return ERROR;
return OK;
}
Status Push(SqStack & S ,SElemType e) //入栈
{
if(->=){
=(SElemType *)realloc(