实验07 栈的顺序表示和实现

实验07 栈的顺序表示和实现

ID:17416206

大小:33.00 KB

页数:5页

时间:2018-08-31

实验07  栈的顺序表示和实现_第1页
实验07  栈的顺序表示和实现_第2页
实验07  栈的顺序表示和实现_第3页
实验07  栈的顺序表示和实现_第4页
实验07  栈的顺序表示和实现_第5页
资源描述:

《实验07 栈的顺序表示和实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

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

3、功能说明及算法思路/*栈的顺序存储结构定义*/structStack{ElemType*stack;inttop;intMaxSize;};/*初始化栈S为空*/voidInitStack(Stack&S)/*元素item进栈,即插入到栈顶*/voidPush(Stack&S,ElemTypeitem)/*删除栈顶元素并返回*/ElemTypePop(Stack&S)/*读取栈顶元素的值*/ElemTypePeek(Stack&S)/*判断S是否为空,若是则返回true,否则返回false*/boolEmp

4、tyStack(Stack&S)/*清除栈S中的所有元素,释放动态存储空间*/voidClearStack(Stack&S)/*判断字符串t是否中心对称*/intIsReverse(char*t,Stacks)四.实验结果与分析五.心得体会【附录----源程序】test3_1.cpp#include#include#include#includetypedefcharElemType;#include"SeqStack.h"i

5、ntIsReverse(char*t,Stacks);voidmain(void){ElemTypex,t[100];Stacks;InitStack(s);inti=0;cin>>x;while(x!='#'){t[i++]=x;Push(s,x);cin>>x;}t[i]='';if(IsReverse(t,s))cout<<"该字符串中心对称"<

6、{inti=0;while(!EmptyStack(s)){if(Pop(s)!=t[i])return0;elsei++;}return1;}SeqStack.hstructStack{ElemType*stack;inttop;intMaxSize;};voidInitStack(Stack&S){S.MaxSize=10;S.stack=newElemType[S.MaxSize];if(!S.stack){cerr<<"动态储存分配失败"<

7、ush(Stack&S,ElemTypeitem){if(S.top==S.MaxSize-1){intk=sizeof(ElemType);S.stack=(ElemType*)realloc(S.stack,2*S.MaxSize*k);S.MaxSize=2*S.MaxSize;}S.top++;S.stack[S.top]=item;}ElemTypePop(Stack&S){if(S.top==-1){cerr<<"Stackisempty!"<

8、urnS.stack[S.top+1];}ElemTypePeek(Stack&S){if(S.top==-1){cerr<<"Stackisempty!"<

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

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

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