1 / 6
文档名称:

实验 栈及其应用.doc

格式:doc   大小:28KB   页数:6页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验 栈及其应用.doc

上传人:weizifan339913 2019/3/7 文件大小:28 KB

下载得到文件列表

实验 栈及其应用.doc

文档介绍

文档介绍:(1) 掌握栈的特点及其描述方法。(2)用链式存储结构实现一个栈。(3)掌握建栈的各种等基本操作。(4)掌握栈的几个典型应用的算法。(1)设计一个字符型的链栈;(2)编写进栈、出栈、显示栈中全部元素的程序;(3)编写一个把十进制整数转换成二进制数的应用程序;(4)设计一个选择式菜单,以菜单方式选择上述操作。(1)用键盘输入一个整数后缀表达式(操作数的范围是0~9,运算符只含+、-、*、/,而且中间不可以有空格),使用循环程序从左向右读入表达式。(2)如果读入的是操作数,直接进入操作数栈。(3)如果读入的是运算符,立即从操作数栈取出所需的操作数,计算操作数运算的值,并将计算结果存回操作数栈。:(1)选择合适的存储结构(顺序栈或链式栈)表示栈,给出其定义。(2)在上述存储结构上实现栈的基本操作:初始化、置栈空、入栈、出栈、取栈顶元素等。(3)分析后缀表达式求值的算法思想,用C(或C++)语言设计程序。(4)上机调试通过实验程序。(5)给出具体的算法分析,包括时间复杂度和空间复杂度等。(6)撰写实验报告。(1)栈的定义及栈的“后进先出”的特点。(2)栈的顺序存储与链式存储结构及栈的初始化、入栈、出栈、取栈顶等基本操作。(3)算术表达式的三种表示形式(前缀式、中缀式、后缀式)。(1)一台运行Windows2000/XP操作系统的计算机(2)选用turboc或visualc++6、实验说明(1)类型定义#defineMAXSIZE100/*栈的最大值*/typedefstruct{ElemTypeelem[MAXSIZE];inttop;}SqStack;/*顺序栈的类型定义*/(2)注意问题①重点理解栈的算法思想,能够根据实际情况选择合适的存储结构②栈的算法是后续实验的基础(广义表、树、图、查找、排序等):(由学生填写):(由学生填写)#include<>#include<>#include“”#defineMAXLEN100voidmain(){inti=1,j=1,choice,val,n;chara;linkstack*s=newlinkstack;s->top=NULL;while(i){printf("\n\n");printf("\n\t\t链栈子系统\n");printf("\n\t\t*******************************");printf("\n\t\t*1----入栈*");printf("\n\t\t*2----出栈*");printf("\n\t\t*3----显示栈*");printf("\n\t\t*4----进制转换*");printf("\n\t\t*0----返回*");printf("\n\t\t*******************************");printf("\n\t\t请选择(0--4):");choice=getchar();getchar();switch(choice){case'1':while(j) {printf("\t\t请输入一个