实验4 栈及栈的应用

实验4 栈及栈的应用

ID:5559404

大小:105.00 KB

页数:8页

时间:2017-12-18

实验4 栈及栈的应用_第1页
实验4 栈及栈的应用_第2页
实验4 栈及栈的应用_第3页
实验4 栈及栈的应用_第4页
实验4 栈及栈的应用_第5页
资源描述:

《实验4 栈及栈的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、+实验报告四栈及栈的应用实验一、实验目的:(1)掌握栈的基本操作的实现方法。(2)利用栈先进后出的特点,解决一些实际问题。二、实验内容:(请采用模板类及模板函数实现)1、栈顺序存储结构的基本操作算法实现[实现提示]同时可参见教材p86-p87页的ADT描述及算法实现及ppt)函数、类名称等可自定义,部分变量请加上学号后3位。也可自行对类中所定义的操作进行扩展。所加载的库函数或常量定义:(1)栈顺序存储结构的类定义:#include#include//#includetemplatecla

2、ssdseqstack{public:dseqlstack(intsize);//构造函数,初始化栈~dseqlstack(){};//析构函数voidpush(consttype&item);//入栈typepop();//出栈typegettop();//获得栈顶voidprint();//遍历栈voidclear();//清空栈intempty();//判断栈是否为空intfull();//为满则返回1,否则返回0private:type*s;inttop;intmaxsize;};(2)构造栈算法输入:栈元素个数的最大数size初始化栈:栈顶指示置为-1,创建存储

3、栈的数组,栈元素个数的最大数maxsize置为size;templatedseqstack::dseqstack(intsize):top(-1),maxsize(size){s=newtype[maxsize];if(s==NULL)cout<<"动态分配空间失败!"<typedseqstack::gettop(){if(top==-1)Cout<<"栈为空!";retu

4、rns[top];}(4)进栈算法输入:要进栈的项item前置条件:栈未满动作:把item压入栈顶输出:无后置条件:栈顶增加一个新元素,栈顶指示加1;templatevoiddseqstack::push(consttype&item){if(top==maxsize-1)cout<<"栈满!";top++;s[top]=item;}(5)出栈算法输入:无前置条件:栈非空动作:删除栈顶元素输出:返回删除的栈顶元素值后置条件:删除栈顶元素,栈顶指示减1templatetypedseqstack::pop()

5、{typeitem;if(top==-1)cout<<"空栈!";typeitem=s[top];top--;returnitem;}(6)遍历栈算法输入:无前置条件:栈非空动作:遍历输出每个栈非空元素输出:无后置条件:无templatevoiddseqstack::print(){if(top==-1)cout<<"栈为空!"<

6、axsize为0templatevoiddseqstack::destroy(){if{maxsize==0)cout<<"栈不存在!"<voiddseqstack::clear(){top=-1;}(9)判栈空算法输入:无前置条件:无动作:检查栈顶指示是否等于-1输出:栈空时返回1,否则返回0后置条件:无templat

7、eintdseqstack::empty(){if(top==-1)return1;return0;}(10)判栈满算法输入:无前置条件:无动作:检查栈顶指示是否等于maxsize-1输出:栈满时返回1,否则返回0后置条件:无templateintdseqstack::full(){if(top==maxsize-1)return1;return0;}(11)上机实现以上基本操作,写出main()程序:main()粘贴如下:voidmain(void){int

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

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

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