实验4栈及栈的应用实验.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验4栈及栈的应用实验

实验报告四 栈及栈的应用实验 班级: 2011252 姓名: 李涵茜 学号: 专业: 信息安全 实验目的: 掌握栈的基本操作的实现方法。 利用栈先进后出的特点,解决一些实际问题。 实验内容:(请采用模板类及模板函数实现) 1、栈顺序存储结构的基本操作算法实现 [实现提示] 同时可参见教材p86-p87页的ADT描述及算法实现及ppt)函数、类名称等可自定义,部分变量请加上学号后3位。也可自行对类中所定义的操作进行扩展。 所加载的库函数或常量定义: (1)栈顺序存储结构的类定义: template class T class seqstack { private: T *s; int top; int maxsize; public: seqstack(int size); T gettop(); void push(T item); T pop(); void through(); void broke(); void nothing(); void judge(); void full(); }; (2)构造栈算法 输入:栈元素个数的最大数size 初始化栈:栈顶指示置为-1,创建存储栈的数组,栈元素个数的最大数maxsize置为size; template class T seqstack T::seqstack(int size) { maxsize=size; top=-1; if(maxsize==0) cout申请数组空间失败!endl; else s=new T [maxsize]; }栈不空e 输出:返回栈顶元素template class T T seqstack T::gettop() { return s[top]; } (4)进栈算法 输入:要进栈的项item 前置条件:栈未满 动作:把item压入栈顶 输出:无 后置条件:栈顶增加一个新元素,栈顶指示加1; template class T void seqstack T::push(T item) { if(top==maxsize-1) cout入栈空间不足!endl; else top++; s[top]=item; }删除栈顶元素返回值template class T T seqstack T::pop() { T e; if(top==-1) cout出栈已完成!endl; else e=s[top]; top--; return e; }template class T void seqstack T::through() { if(top==-1) cout栈表为空!endl; for(int i=0;imaxsize;i++) couts[i]=s[i]endl; }template class T void seqstack T::broke() { delete [] s; cout删除栈!endl; }template class T void seqstack T::nothing() { if(top==-1) cout栈已空!endl; else top=-1; cout清空栈!endl; }template class T void seqstack T::judge() { if(top==-1) { cout该栈为空栈!endl; } else cout该栈不为空!endl; }template class T void seqstack T::full() { if(top==maxsize-1) { cout该栈已满!endl; } else cout该栈未满!endl; }void main() { seqstack int seq(5); seq.push(1); seq.push(2); seq.push(3); seq.push(4); seq.push(5); seq.through(); seq.judge(); seq.full(); coutseq.gettop(); coutseq.pop(); seq.nothing(); seq.broke(); } 粘贴测试数据及运行结果: 2、用以上基本算法,实现:void conversion() {//对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数; 二进制:void main() { int i=11,j=0; seqst

文档评论(0)

haocen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档