欢迎来到天天文库
浏览记录
ID:11391069
大小:512.00 KB
页数:16页
时间:2018-07-11
《栈的课程设计--栈的基本操作及其应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、数据结构课程设计题目栈的基本操作及其应用系(部)计算机科学与技术系班级16计本(2)姓名学号指导教师2018年1月8日至2018年1月12日共1周16数据结构课程设计任务书一、设计题目、内容及要求1、设计题目:栈的应用算法设计与实现。2、设计内容及要求:(1)实现栈的基本操作,如进栈、出栈、判栈空等。(2)实现栈的三种应用算法:如数制转换、表达式求值、括号匹配、文本编辑等应用。(3)实现栈的应用—迷宫求解的应用算法。注:(2)(3)选择其一即可。二、要求的设计成果(课程设计说明书、设计实物、图纸等)1、用
2、C语言或者C++语言进行程序设计,实现算法的功能。注重算法效率,代码要有适当的注释。2、撰写课程设计说明书一份,不少于2000字。课程设计说明书应包括封面、任务书、成绩评定表、正文(设计思路、设计步骤等)、参考文献(资料)等内容。三、进程安排1月8日:进行需求分析,确定算法的主要功能和算法思路;进行详细设计,确定各模块的算法思路;1月9日~1月10日:进行编码实现;进行测试调试,完善设计;1月11日:撰写设计说明书,准备答辩;1月12日:答辩。四、主要参考资料1.严蔚敏,吴伟民.数据结构.清华大学出版社,
3、20072.苏仕华.数据结构课程设计.机械工业出版社,20103.滕国文.数据结构课程设计.清华大学出版社,2010指导教师(签名):教研室主任(签名):161.引言在计算机系统中,栈则是一个具有以上属性的动态内存区域。程序可以将数据压入栈中,也可以将数据从栈顶弹出。在i386机器中,栈顶由称为esp的寄存器进行定位。压栈的操作使得栈顶的地址减小,弹出的操作使得栈顶的地址增大。首先系统或者数据结构栈中数据内容的读取与插入(压入push和弹出pop)是两回事!插入是增加数据,弹出是删除数据,这些操作只能从栈
4、顶即最低地址作为约束的接口界面入手操作,但读取栈中的数据是随便的没有接口约束之说。很多人都误解这个理念从而对栈产生困惑。而系统栈在计算机体系结构中又起到一个跨部件交互的媒介区域的作用即cpu与内存的交流通道,cpu只从系统给我们自己编写的应用程序所规定的栈入口线性地读取执行指令,用一个形象的词来形容它就是pipeline(管道线、流水线)。cpu内部交互具体参见EU与BIU的概念介绍。栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照后进先出的原则存储数据,先进入的数据被压入栈底,
5、最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。栈也称为后进先出表。栈可以用来在函数调用的时候存储断点,做递归时要用到栈!一、基本概念 栈(stack)在计算机科学中是限定仅在表尾
6、进行插入或删除操作的线形表。 栈是一种数据结构,是只能在某一端插入和删除的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。 栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。栈也称为后进先出表(LIFO表),栈可以用来在函
7、数调用的时候存储断点,做递归时要用到栈! 本课程设计涉及的主要内容是对栈进行基本操作和实现栈的一些实际应用,在课程设计中,系统开发平台为Windows7。程序设计语言使用Visualc++。程序的运行平台为Windows2000/XP/7/10。/*2问题分析16本次课程设计主要介绍栈的概念和栈的基本操作和栈的两种存储结构及其应用。其中栈的基本操作主要包括置空栈,判断栈空,进栈,出栈,取栈顶元素。栈的两种存储结构是顺序存储结构和链式存储结构。栈是一种简单的数据结构。但在程序设计中却有着广泛的应用,很多程序
8、都要用栈来做存储结构。如:判断字符串的中心对称,数制转换,函数的递归调用,文字编辑器的设计,算术表达式求值,树或图的遍历,拓扑排序,关键路径。在此次课程设计中做出了栈的其中两种应用,即数制转换和判断括号是否匹配以及迷宫求解。了解栈的两种存储结构:栈的顺序存储结构(简称数字栈)数字栈是利用一批地址连续顺序存储结构单元依次存放自栈底到栈顶的数据元素。栈的链式存储结构(简称为链栈)它是运算受限制的单链表,其插入和删除操作只能在表头位
此文档下载收益归作者所有