欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

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

    • 资源ID:33851663       资源大小:66.50KB        全文页数:7页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    如有侵权,请联系网站删除,仅供学习与交流实验7 栈的顺序表示和实现【精品文档】第 7 页浙江大学城市学院实验报告课程名称 数据结构基础 实验项目名称 实验七 栈的顺序表示和实现 实验成绩 指导老师(签名 ) 日期 一. 实验目的和要求1、掌握栈的存储结构及其基本操作。学会定义栈的顺序存储结构及其各种基本操作的实现。2、掌握栈的后进先出原则。3、通过具体的应用实例,进一步熟悉和掌握栈在实际问题中的运用。二. 实验内容1、设栈采用顺序存储结构(用动态数组),请编写栈的各种基本操作的实现函数,并存放在头文件test7.h中。同时建立一个验证操作实现的主函数文件test7.cpp,编译并调试程序,直到正确运行。 提示: 栈的动态数组顺序存储结构可定义如下: struct Stack ElemType *stack ;/ 存栈元素 int top; / 栈顶指示器 int MaxSize; / 栈的最大长度 栈的基本操作可包括: void InitStack (Stack &S); /构造一个空栈 S int EmptyStack (Stack S); /若栈S为空栈返回1,否则返回0 void Push(Stack &S, ElemType item); /元素 item进栈 ElemType Pop(Stack &S); /栈S的栈顶元素出栈并返回 ElemType Peek(Stack S); /取栈S的当前栈顶元素并返回 void ClearStack (Stack &S); /清除栈s,使成为空栈2、应用:写一函数,判断给定的字符串是否中心对称。如字符串“abcba”、“abccba”均为中心对称,字符串“abcdba”不中心对称。要求利用test7.h中已实现的有关栈的基本操作函数来实现。请把该函数添加到文件test7.cpp中的主函数前,并在主函数中添加相应语句进行测试。函数原型如下: int IsReverse(char *s) /判断字符串S是否中心对称,是返回1,否则返回03、填写实验报告,实验报告文件取名为report7.doc。4、上传实验报告文件report7.doc 、源程序文件test7.cpp及test7.h到Ftp服务器上( )自己的文件夹下。三. 函数的功能说明及算法思路 (包括每个函数的功能说明,及一些重要函数的算法实现思路)函数:void InitStack (Stack &S)功能:构造一个空栈 S思路:采用动态数组的方式新建一个大小为10的空栈S函数:int EmptyStack (Stack S)功能:判断是否为空栈,若栈S为空栈返回1,否则返回0思路:以top值作为判断条件,当top为-1时表明为空栈,其他则为非空栈函数:void Push(Stack &S, ElemType item)功能:元素 item进栈思路:首先判断栈是否已满,若已满则动态申请空间将数组大小扩大一倍,通过改变top的值确定入栈位置并将item入栈 函数:ElemType Pop(Stack &S)功能:栈S的栈顶元素出栈并返回思路:以top值减1的方式进行出栈操作,并返回出栈的栈顶元素函数:ElemType Peek(Stack S)功能:取栈S的当前栈顶元素并返回思路:返回当前top所指的栈顶元素值函数:void ClearStack (Stack &S)功能:清除栈s,使成为空栈思路:释放数组空间,置top为-1表示空栈,置MaxSize为0表示无空间函数(选作):int IsReverse(char *s)功能:判断字符串S是否中心对称,是返回1,否则返回0思路:将字符串的前一半字符依次入栈,再全部出栈并依次与字符串后一半字符对比,只要有一个不相同,就说明不是中心对称;全部相同,表明是中心对称四. 实验结果与分析(包括运行结果截图、结果分析等)栈操作部分测试数据:22 30 16 36 58 80 55结果分析:栈顶元素为55,正确;3次出栈元素依次为55 80 58,正确;出栈操作完成后栈顶元素为36,证明出栈操作成功。选作部分测试数据:abcba结果分析:输出判断为YES,是中心对称,正确。栈操作部分测试数据:42 5 -2结果分析:栈顶元素为-2,正确;2次出栈元素依次为-2 5,正确;出栈操作完成后栈顶元素为42,证明出栈操作成功。选作部分测试数据:abccba结果分析:输出判断为YES,是中心对称,正确。栈操作部分测试数据:28 36 42 44 65 65 74 80结果分析:栈顶元素为80,正确;3次出栈元素依次为80 74 65,正确;出栈操作完成后栈顶元素为65,证明出栈操作成功。选作部分测试数据:achilleselihca结果分析:输出判断为NO,不是中心对称,正确。五. 心得体会(记录实验感受、上机过程中遇到的困难及解决办法、遗留的问题、意见和建议等。)

    注意事项

    本文(实验7栈的顺序表示和实现.doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开