栈定义及其应用

栈定义及其应用

ID:34197492

大小:203.50 KB

页数:18页

时间:2019-03-04

栈定义及其应用_第1页
栈定义及其应用_第2页
栈定义及其应用_第3页
栈定义及其应用_第4页
栈定义及其应用_第5页
资源描述:

《栈定义及其应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、集美大学数据结构课程实验报告课程名称:数据结构班级:实验成绩:2012.3.20指导教师:姓名:实验项目名称:数据结构---栈学号:2011872070上机实践日期:12.3.24一、目的理解栈数据结构及其应用;理解递归及其应用二、实验内容1.栈的类定义(已实现,可参考附录:seqstack.h)2.顺序栈的类定义、实现与测试(已实现,可参考:seqstack—seqstack.cpp,main—main主要是完成顺序栈各个方法的测试工作,测试结束可取消,因为一个工程只能有一个main)3.链栈的类定义、实现与测试4.栈的应用1(可使用顺序栈

2、或链栈完成):实现括号匹配测试如下表达式:”{[()](())}”及”{[()]]}”5.栈的应用2(可使用顺序栈或链栈完成):实现中缀表达式计算器,提示将表达式后缀表示并存储于一个数组中,再完成该后缀表达式运算测试:5*3+(2-4/6)的后缀,其余测试自已设置6.递归及应用1:使用递归顺序输出链表中的各元素数据。(链表的创建可使用实验1)7.递归及应用2:使用递归逆序输出链表中的各元素数据8.栈的应用3(可使用顺序栈或链栈完成):使用递归的回溯法实现小型迷宫程序(提示:程序分为两大模块,根据数据生成地图,漫游地图)三、实验使用环境VC++

3、6.0控制台程序四、实验关键代码与结果展示(部分截图)1.顺序栈:SeqStack.h#include#includeusingnamespacestd;constintstackIncreament=20;templateclassSeqStack{public:SeqStack(intsz=50);~SeqStack(){delete[]elements;页脚}voidPush(constT&x);boolPop(T&x);boolgetTop(T&x)const;boolIsE

4、mpty()const{returntop==-1;}boolIsFull()const{returntop==maxSize-1;}intgetSize()const{returntop+1;}voidMakeEmpty(){top=-1;}friendostream&operator<<(ostream&out,SeqStack&s){out<<"栈顶指针位于:"<

5、ate:T*elements;inttop;intmaxSize;voidoverflowProcess();};templateSeqStack::SeqStack(intsz){top=-1;maxSize=sz;elements=newT[maxSize];assert(elements);}templatevoidSeqStack::overflowProcess(){T*newArray=newT[maxSize+stackIncreament];assert(newArray

6、);for(inti=0;i<=top;i++)newArray[i]=elements[i];maxSize=maxSize+stackIncreament;delete[]elements;页脚elements=newArray;}templatevoidSeqStack::Push(constT&x){if(IsFull())overflowProcess();elements[++top]=x;}templateboolSeqStack::Pop(T&x){if(IsEmpty(

7、)){returnfalse;}x=elements[top--];returntrue;}templateboolSeqStack::getTop(T&x)const{if(IsEmpty()){returnfalse;}x=elements[top];returntrue;}Main.cpp#include"SeqStack.h"#include#include#include#includeusingnamespacestd;intma

8、in(){SeqStacksta;ifstreamfin("data.txt");assert(fin);intdata;while(!fin.eof()

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

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

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