栈的课程设计--栈的基本操作及其应用

栈的课程设计--栈的基本操作及其应用

ID:23205311

大小:719.11 KB

页数:17页

时间:2018-11-05

栈的课程设计--栈的基本操作及其应用_第1页
栈的课程设计--栈的基本操作及其应用_第2页
栈的课程设计--栈的基本操作及其应用_第3页
栈的课程设计--栈的基本操作及其应用_第4页
栈的课程设计--栈的基本操作及其应用_第5页
资源描述:

《栈的课程设计--栈的基本操作及其应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、数据结构课程设计题目系(部)栈的基本操作及其应用计算机科学与技术系班级16计本(2)姓名学号指导教师2018年1月8日至2018年1月12日共1周数据结构课程设计任务书一、设计题目、内容及要求1、设计题目:栈的应用算法设计与实现。2、设计内容及要求:(1)实现栈的基本操作,如进栈、出栈、判栈空等。(2)实现栈的三种应用算法:如数制转换、表达式求值、括号匹配、文本编辑等应用。(3)实现栈的应用一迷宫求解的应用算法。注:(2)(3)选择其一即可。二、要求的设计成果(课程设计说明书、设计实物、图纸等)1、用C语言或者C++语言进行程序设计,实现算法的功能。注重算法效率,代码要有适当的注释。2、撰写

2、课程设计说明书一份,不少于2000字。课程设计说明书应包拈封面、任务书、成绩评定表、正文(设计思路、设计步骤等)、参考文献(资料)等内容。三、进程安排1月8日:进行需求分析,确定算法的主要功能和算法思路;进行详细设计,确定各模块的算法思路;1月9日〜1月10日:进行编码实现;进行测试调试,完善设计;1月11日:撰写设计说明书,准备答辩;1月12日:答辩。四、主要参考资料1.严蔚敏,吴伟民.数据结构.清华大学出版社,20072.苏仕华.数据结构课程设计.机械工业出版社,20103.滕国文.数据结构课程设计.清华大学出版社,2010指导教师(签名):教研室主任(签名):在计算机系统屮,栈则是一个

3、具有以上属性的动态内存区域。程序可以将数据压入栈屮,也可以将数据从栈顶弹出。在i386机器屮,栈顶巾称为esp的寄存器进行定位。压栈的操作使得栈顶的地址减小,弹出的操作使得栈顶的地址增大。首先系统或者数据结构栈屮数据内容的读取与插入(压入push和弹flipop)是两回事!插入是增加数据,弹出是删除数据,这些操作只能从栈顶即最低地址作为约束的接口界而入手操作,但读取栈屮的数据是随便的没有接口约束之说。很多人都误解这个理念从而对栈产生困惑。而系统栈在计算机体系结构屮又起到一个跨部件交互的媒介区域的作用即cpu与闪存的交流通道,cpu只从系统给我们向己编写的应用程序所规定的栈入口线性地读取执行指

4、令,用一个形象的词来形容它就是pipeline(管道线、流水线)。cpu内部交互具体参见EU与BIU的概念介绍。栈作为一种数椐结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作屮,不需要改变栈底指针。桟是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一•端为栈底(bottom);栈底固定,而栈顶浮动;找中元素个数为零时称为空找。插入一般称为进栈(PUSH),删除则称为退

5、栈(POP)。栈也称力后进先出表。桟可以川来在函数调用的时候存储断点,做递归时要用到栈!一、基本概念栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线形表。栈是一种数据结构,是只能在某一端插入和删除的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在找顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底冏定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。

6、栈也称为后进先出表(LIFO表),栈可以用来在函数调用的时候存储断点,做递归时要用到栈!木课程设计涉及的主要内容是对栈进行基木操作和实现栈的一些实际应用,在课程设计中,系统开发平台为Windows7。程序设计语言使用VisualC++。程序的运行平台为Windows2000/XP/7/10。/*2问题分析本次课程设计主要介绍栈的概念和桟的基本操作和栈的两种存储结构及其应用。其中栈的基本操作主要包括置空栈,判断栈空,进栈,出栈,取栈顶元素。栈的两种存储结构是顺序存储结构和链式存储结构。栈是一种简单的数据结构。但在程序设计屮却有着广泛的应用,很多程序都要用栈来做存储结构。如:判断字符串的屮心对称

7、,数制转换,函数的递归调用,文字编辑器的设计,算术表达式求值,树或图的遍历,拓扑排序,关键路径。在此次课程设计中做出了栈的其中两种应用,即数制转换和判断括号是否匹配以及迷宫求解。了解桟的两种存储结构:栈的顺序存储结构(简称数字栈)数字栈是利用一批地址连续顺序存储结构单元依次存放自栈底到栈顶的数据元素。栈的链式存储结构(简称为链栈)它是运算受限制的单链表,其插入和删除操作只能在表头位置上进行(1)数制转换:十进

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

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

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