预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共17页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

精品学习资料范文 数据结构栈的实验报告 篇一:数据结构栈和队列实验报告 一、实验目的和要求 (1)理解栈和队列的特征以及它们之间的差异,知道在何时使用 那种数据结构。 (2)重点掌握在顺序栈上和链栈上实现栈的基本运算算法,注意 栈满和栈空的条件。 (3)重点掌握在顺序队上和链队上实现队列的基本运算算法,注 意循环队队列满和队空的条件。 (4)灵活运用栈和队列这两种数据结构解决一些综合应用问题。 二、实验环境和方法 实验方法: (一)综合运用课本所学的知识,用不同的算法实现在不同的 程序功能。 (二)结合指导老师的指导,解决程序中的问题,正确解决实 际中存在的异常情况,逐步改善功能。 (三)根据实验内容,编译程序。 实验环境:WindowsxpVisualC++6.0 三、实验内容及过程描述 实验步骤: ①进入VisualC++6.0集成环境。 ②输入自己编好的程序。 精品学习资料范文 ③检查一遍已输入的程序是否有错(包括输入时输错的和编程 中的错误),如发现有 错,及时改正。 ④进行编译和连接。如果在编译和连接过程中发现错误,频幕 上会出现“报错信息”, 根据提示找到出错位置和原因,加以改正。再进行编译,如此 反复直到不出错为止。⑤运行程序并分析运行结果是否合理。在运 行是要注意当输入不同的数据时所得结果 是否正确,应运行多次,分别检查在不同情况下结果是否正确。 实验内容:编译以下题目的程序并调试运行。 1)、编写一个程序algo3-1.cpp,实现顺 的各种基本运算,并在此基础上设计一 程序并完成如下功能: (1)初始化栈s; (2)判断栈s是否非空;序栈个主 (3)依次进栈元素a,b,c,d,e; (4)判断栈s是否非空; (5)输出出栈序列; (6)判断栈s是否非空; (7)释放栈。图3.1Proj3_1工程组成 本工程Proj3_1的组成结构如图3.1所示。本工程的模块结构 如图3.2所示。图中方框表示函数,方框中指出函数名,箭头方向表 精品学习资料范文 示函数间的调用关系。 图3.2Proj3_1工程的程序结构图 其中包含如下函数: InitStack(SqStack*s)//初始化栈S DestroyStack(SqStack*s)//销毁栈s StackEmpty(SqStack*s)//判断栈空 Push(SqStack*s,ElemTypee)//进栈 Pop(SqStack*s,ElemTypee)//出栈 GetTop(SqStack*s,ElemTypee)//取栈顶元素 对应的程序如下: //文件名:algo3-1.cpp #includestdio.h #includemalloc.h #defineMaxSize100 typedefcharElemType; typedefstruct { ElemTypedata[MaxSize]; inttop;//栈顶指针 }SqStack; voidInitStack(SqStack*s)//初始化栈S {s=(SqStack*)malloc(sizeof(SqStack)); 精品学习资料范文 s-top=-1;//栈顶指针置为-1 } voidDestroyStack(SqStack*s)//销毁栈s { free(s); } boolStackEmpty(SqStack*s)//判断栈空 { return(s-top==-1); } boolPush(SqStack*s,ElemTypee)//进栈 {if(s-top==MaxSize-1)//栈满的情况,即栈上溢出 returnfalse; s-top++;//栈顶指针增1 s-data[s-top]=e;//元素e放在栈顶指针处 returntrue; } boolPop(SqStack*s,ElemTypee)//出栈 {if(s-top==-1)//栈为空的情况,即栈下溢出 returnfalse; e=s-data[s-top];//取栈顶指针元素的元素 s-top--;//栈顶指针减1 精品学习资料范文 returntrue; } boolGetTop(SqStack*s,ElemTypee)//取栈顶元素 {if(s-top==-1)//栈为空的情况,即栈下溢出 returnfalse; e=s-data[s-top];//取栈顶指针元素的元素 returntrue; } 设计exp3-1.cpp程序如下//文件名:exp3-1.cpp #includestdio.h #includ