第五次实验报告——顺序栈、链栈的插入和删除一 需求分析1、在演示程序中,出现的元素以数字出现定义为int型,2、演示程序在计算机终端上,用户在键盘上输入演示程序中规定的运算命令,相应的输入数据和运算结果显示在终端上3、顺序栈的程序执行的命令包括如下:(1) 定义结构体(2) 顺序栈的初始化及创建(3) 元素的插入(4) 元素的删除(5) 顺序栈的打印结果3、链栈的程序执行的命令包括如下:(1) 定义结构体(2) 链栈的初始化及创建(3) 元素的插入(4) 元素的删除(5)链栈的打印结果二 概要设计1、顺序栈可能需要用到有序表的抽象数据类型定义:ADT List{ 数据对象 :D={ai|ai∈ElemL, i=1,2,
,n, n≥0} 数据关系 :R1={|ai-1,ai ∈D, i=2,
,n } 基本操作:InitStack(SqStack &S) 操作结果:构造一个空栈Push(L,e) 操作结果:插入元素e 为新的栈顶元素Status Pop(SqStack &S) 操作结果:删除栈顶元素}ADT List ;2、链栈可能需要用到有序表的抽象数据类型定义:ADT List{ 数据对象 :D={ai|ai∈ElemL, i=1,2,
,n, n≥0} 数据关系 :R1={|ai-1,ai ∈D, i=2,
,n } 基本操作:LinkStack(SqStack &S) 操作结果:构造一个空栈Status Push(L,e) 操作结果:插入元素e 为新的栈顶元素Status Pop(SqStack &S) 操作结果:删除栈顶元素}ADT List ;3、顺序栈程序包含的主要模块: (1) 已给定的函数库:(2)顺序栈结构体:(3)顺序栈初始化及创建 : (4)元素插入 (5)元素删除(6)主程序: 4 、链栈程序包含的主要模块: (1) 已给定的函数库