欢迎来到天天文库
浏览记录
ID:54768637
大小:47.00 KB
页数:2页
时间:2020-04-21
《数据结构实验三 顺序栈的实现.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验三顺序栈的实现实验类型:验证性实验学时:2学时一、实验目的:掌握顺序栈的基本操作,如进栈、出栈、判断栈空和栈满,取栈顶元素等运算在顺序存储结构上的运算;并能够运用栈的基本操作解决问题,实现相应算法。二、实验要求:1、完成顺序栈的基本操作算法并上机调试通过。2、撰写实验报告,提供实验结果和数据。三、实验内容:设计你的栈的顺序存储结构体,编程实现栈的基本操作。栈中的数据元素类型最好为字符类型,方便今后对字符串的算法设计和应用。测试数据示例:(1)以“ABCDEFG”的字符串顺序进栈;(2)以合适顺序出栈得到序列“CDBAGFE”;(3
2、)取栈顶元素得到‘F’;(4)进栈直到栈满和出栈直到栈空,检验对这两种情形的正确判断和处理。[实验要点及说明]:借助实验一线性表的顺序存储程序进行改进栈(stack):是限定仅在表尾进行插入或删除操作的线性表。栈顶(Top):允许插入和删除的一端,为变化的一端。栈底(Bottom):栈中固定的一端。空栈:栈中无任何元素。特点:根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除。也就是说,栈是一种后进先出(LastInFirstOut)的线性表,简称为LIF
3、O表。参考:顺序栈的数据类型C语言描述:#definestacksize100//定义栈的最大容量typedefcharelemtype;typedefStruct{elemtypedata[stacksize];//将栈中元素定义为elemtype类型inttop;//:指向栈顶位置的指针}sqstack;栈的运算:1.初始化栈:InitStack将栈S置为一个空栈(不含任何元素)。2.进栈:Push将元素X插入到栈S中,也称为“入栈”、“插入”、“压入”。3.出栈:Pop删除栈S中的栈顶元素,也称为”退栈”、“删除”、“弹出”。4
4、.取栈顶元素:GetTop取栈S中栈顶元素。5.判栈空:StackEmpty判断栈S是否为空,若为空,返回值为1,否则返回值为0。
此文档下载收益归作者所有