栈的课程设计完整版

发布时间 : 星期四 文章栈的课程设计完整版更新完毕开始阅读

唐 山 学 院 数据结构 课 程 设 计

题 目 栈的基本操作及其应用 系 (部) 计算机科学与技术系 班 级 16计本(2) 姓 名 周登旺 学 号 4164001232 指导教师 郭琳虹

2018 年 1 月 8日 至 2018 年 1 月 12日 共 1 周

数据结构 课程设计任务书

一、设计题目、内容及要求 1、设计题目:栈的应用算法设计与实现。 2、设计内容及要求: (1)实现栈的基本操作,如进栈、出栈、判栈空等。 (2)实现栈的三种应用算法:如数制转换、表达式求值、括号匹配、文本编辑等应用。 (3)实现栈的应用—迷宫求解的应用算法。 注:(2)(3)选择其一即可。 二、要求的设计成果(课程设计说明书、设计实物、图纸等) 1、用C语言或者C++语言进行程序设计,实现算法的功能。注重算法效率,代码要有适当的注释。 2、撰写课程设计说明书一份,不少于2000字。课程设计说明书应包括封面、任务书、成绩评定表、正文(设计思路、设计步骤等)、参考文献(资料)等内容。 三、进程安排 1月8日:进行需求分析,确定算法的主要功能和算法思路;进行详细设计,确定各模块的算法思路; 1月9日~1月10日:进行编码实现;进行测试调试,完善设计; 1月11日:撰写设计说明书,准备答辩; 1月12日:答辩。 四、主要参考资料 1.严蔚敏,吴伟民.数据结构.清华大学出版社,2007 2.苏仕华.数据结构课程设计.机械工业出版社,2010 3.滕国文.数据结构课程设计.清华大学出版社,2010 指导教师(签名): 教研室主任(签名):

课程设计成绩评定表

出勤 情况 出勤天数 缺勤天数 出勤情况及设计过程表现(20分) 成 绩 评 定 课设答辩(20分) 设计成果(60分) 总成绩(100分) 提问 (辩) 问题 情况 指导教师签名: 年 月 日 答 综 合 评 定

唐山学院课程设计

1.引言

在计算机系统中,栈则是一个具有以上属性的动态内存区域。程序可以将数据压入栈中,也可以将数据从栈顶弹出。在i386机器中,栈顶由称为esp的寄存器进行定位。压栈的操作使得栈顶的地址减小,弹出的操作使得栈顶的地址增大。首先系统或者数据结构栈中数据内容的读取与插入(压入push和弹出pop)是两回事!插入是增加数据,弹出是删除数据,这些操作只能从栈顶即最低地址作为约束的接口界面入手操作,但读取栈中的数据是随便的没有接口约束之说。很多人都误解这个理念从而对栈产生困惑。而系统栈在计算机体系结构中又起到一个跨部件交互的媒介区域的作用即cpu与内存的交流通道,cpu只从系统给我们自己编写的应用程序所规定的栈入口线性地读取执行指令,用一个形象的词来形容它就是pipeline(管道线、流水线)。cpu内部交互具体参见EU与BIU的概念介绍。栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。

栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。栈也称为后进先出表。栈可以用来在函数调用的时候存储断点,做递归时要用到栈!

一、基本概念

栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线形表。 栈是一种数据结

构,是只能在某一端插入和删除的特殊线性表。它按照先

进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。

栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。 栈也称为后进先出表(LIFO表),栈可以用来在函数调用的时候存储断点,做递归时要用到栈!

本课程设计涉及的主要内容是对栈进行基本操作和实现栈的一些实际应用,在课程设计中,系统开发平台为Windows 7。程序设计语言使用Visual c++。程序的运行平台为Windows 2000/XP/7/10。

/*

2问题分析

本次课程设计主要介绍栈的概念和栈的基本操作和栈的两种存储结构及其应用。其中栈的基本操作主要包括置空栈,判断栈空,进栈,出栈,取栈顶元素。栈的两种存储

1

联系合同范文客服:xxxxx#qq.com(#替换为@)