实验7--栈的顺序表示和实现.doc

实验7--栈的顺序表示和实现.doc

ID:57672760

大小:71.50 KB

页数:5页

时间:2020-08-31

实验7--栈的顺序表示和实现.doc_第1页
实验7--栈的顺序表示和实现.doc_第2页
实验7--栈的顺序表示和实现.doc_第3页
实验7--栈的顺序表示和实现.doc_第4页
实验7--栈的顺序表示和实现.doc_第5页
资源描述:

《实验7--栈的顺序表示和实现.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、浙江大学城市学院实验报告课程名称数据结构基础实验项目名称实验七栈的顺序表示和实现学生姓名专业班级学号实验成绩指导老师(签名)日期2014-11-20一.实验目的和要求1、掌握栈的存储结构及其基本操作。学会定义栈的顺序存储结构及其各种基本操作的实现。2、掌握栈的后进先出原则。3、通过具体的应用实例,进一步熟悉和掌握栈在实际问题中的运用。二.实验内容1、设栈采用顺序存储结构(用动态数组),请编写栈的各种基本操作的实现函数,并存放在头文件SeqStack.h中。同时建立一个验证操作实现的主函数文件test3

2、_1.cpp,编译并调试程序,直到正确运行。2、选做:编写函数,判断给定的字符串是否中心对称。如字符串“abcba”、“abccba”均为中心对称,字符串“abcdba”不中心对称。要求利用SeqStack.h中已实现的有关栈的基本操作函数来实现。请把该函数添加到文件test3_1.cpp中的主函数前,并在主函数中添加相应语句进行测试。3、填写实验报告,实验报告文件取名为report7.doc。4、上传实验报告文件report7.doc、源程序文件test3_1.cpp及SeqStack.h到Ftp服

3、务器上自己的文件夹下。三.函数的功能说明及算法思路voidInitStack(Stack&S)//初始化栈为空,把栈设置为空并完成栈空间的动态存储分配voidPush(Stack&S,ElemTypeitem)//元素item进栈,即插入到栈顶ElemTypePop(Stack&S)//删除栈顶元素并返回ElemTypePeek(Stack&S)//读取栈顶元素的值boolEmptyStack(Stack&S)//判断S是否为空,若为空则返回true,否则返回falsevoidClearStack(S

4、tack&S)//清除栈S中的所有元素,释放动态存储空间intIsR(char*s)//判断字符串S是否中心对称,是则a返回1,否则返回0由于栈的先入后出,将s中的字符串存入栈m,再将元素从栈中取出来时,后进的先出去,就可以将字符串正反比较。当比较完一个元素时,要用Pop(m);将其取出返回。四.实验结果与分析五.心得体会注意栈的先入后出的特点,熟悉栈的基本操作函数【附录----源程序】#include#include#include#i

5、nclude#include"SeqStack.h"voidmain(){Stacks;InitStack(s);if(EmptyStack(s))cout<<"栈S为空!"<>n;cout<<"请按次序输入进栈S的各个元素:"<>x;Push(s,x);}cout<<"请删除栈顶

6、元素,并输出该栈顶元素是:"<>x;Push(s,x);cout<<"当前的栈顶元素是:"<>k;for(i=0;i

7、字符串:"<

8、Size];if(!S.stack){cerr<<"动态存储分配失败!"<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。