1 / 8
文档名称:

数据结构实验报告-栈顺序存储和括号匹配.doc

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

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

分享

预览

数据结构实验报告-栈顺序存储和括号匹配.doc

上传人:蓝天 2022/7/2 文件大小:57 KB

下载得到文件列表

数据结构实验报告-栈顺序存储和括号匹配.doc

文档介绍

文档介绍:《数据结构》实验报告
学 号
姓 名
专业班级
实验地点
指导教师
实验时间
实验序号:3
实验项目名称:栈顺序存储与括号匹配
一、实验目的及要求
本次实验目的是通过上机练****熟悉和掌握课堂所《数据结构》实验报告
学 号
姓 名
专业班级
实验地点
指导教师
实验时间
实验序号:3
实验项目名称:栈顺序存储与括号匹配
一、实验目的及要求
本次实验目的是通过上机练****熟悉和掌握课堂所讲授的基本知识点。要求 上机以前要认真复****课堂教学内容。完成教师带领完成栈的顺序存储,然后完成 括号匹配实验报告。
二、 实验设备(环境)及要求
计算机;学生不许把食物带到机房吃;不许上网做与实验无关的内容;不许 同学之间聊天;保持实验室安静卫生。下课把键盘,座椅放回原处。
三、 实验内容与步骤
利用顺序存储实现的栈,完成括号匹配。

// 栈的顺序存储实现
^define SATCK_INIT_SIZE 100
^define SATCKINCREMENT 10
typedef struct
{
char *base;
char *top;
int stacksize:
}SqStack;
//——栈的操作函数——//
void InitStack(SqStack &stack)
{
//构造一个空栈//
stack. base=new char[SATCK_INIT_SIZE];
stack. top=stack. base;
stack, stacksize=SATCK_INIT_SIZE;
}
void GetTop(SqStack festack, char &e)
{
if (stack. base==stack. top) cout〈〈〃空栈〃〈〈endl;
else e二* (stack, top-1);
}//从栈顶复制一个元素//
void Push (SqStack festack, char e)//入栈
{
* (stack, top) =e;
stack. top=stack. top+1;
}
void Pop(SqStack festack, char &e)//出栈
{
if (stack, base二二stack・ top) cout〈〈〃空栈〃〈〈endl;
else
{
e=* (stack, top-1);
stack. top=stack. top-1;
}
}
Match, h
void match(string str)
{
char ch;
SqStack xinji;
InitStack (xinji);
Push(xinji,;
int len, i, sgn=l;
len=str. length ();
for(i=0;i<len;i++)
if(str[i]二二’(’| =二’['| | str[i]==,{')
Push(xinji, str[i]);
if (str[i]==,Y )
{
GetTop (xinji,ch);
if (ch二二’(')Pop(xinji, ch);
else