数据结构实验报告册
班级:学号:姓名:
f实验题目:实验日期:
栈的链式存储结构的表示和实现
实验要求:
1认真阅读和掌握本实验的相关知识。2编写程序实现栈的链式存储方式。3编写程序实现对栈空的判断以及栈的入栈和出栈操作、取栈顶元素。4保存程序的运行结果,结合程序分析链式结构的特点。5填写实验报告
概要设计:
1初始化链栈。2将链栈置空。3完成入栈和出栈操作,完成取栈顶元素操作。4选择菜单上的0,退出该程序的运行,结束实验内容。初始化栈操作,将栈的栈顶指针置为空值,即设栈S和栈顶指针top,
S→top
ull。如果所建栈里有数据元素,要将其置空,同样也是将栈顶指针的值置
为空值。入栈操作,向栈里插入数据元素。首先要为插入数据元素分配结点,
将插入数据元素的值赋值给插入结点的数据域,其次修改栈顶指针的指向关系,即修改插入结点和栈顶指针的地址,最后修改栈顶指针。
出栈操作,从栈里删除数据元素。首先要判断栈是否为空栈,如是空栈则操作失败。否则,进行出栈操作,修改删除结点和栈顶指针,最后释放删除结点。
取栈顶元素。
1
f详细设计:链栈类型定义typedefi
tElemTypetypedefstructstack
ode
ElemTypedatastack
ode
ext
StackNodetypedefstruct
stack
odetop
Li
kStack入栈voidpushLstackLi
kStacksElemTypex
StackNodepp
ewStackNodepdataxp
extstopstopp出栈
2
fElemTypepopstackLi
kStacks
ElemTypexStackNodeppstopifstop0
pri
tf