电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

链栈顺序栈试验报告

链栈顺序栈试验报告_第1页
1/15
链栈顺序栈试验报告_第2页
2/15
链栈顺序栈试验报告_第3页
3/15
第五次实验报告——顺序栈、链栈的插入和删除一 需求分析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) 已给定的函数库:(2)链栈结构体:(3)链栈初始化及创建 : (4)元素插入 (5)元素删除 (6)主程序:三 详细设计线性栈:结构体#define STACK_INIT_SIZE 100//存储空间初始分配量#define STACKINCREMENT 10//存储空间分配增量typedef struct { int *base;//在构造栈之前和销毁之后,base 的值为 NULL int *top;//栈顶指针int stacksize;//当前已分配的存储空间,以元素为单位}SqStack#include"Base.h" 主函数#include"construction.h" #include"stack_operation.c" int main() { SqStack S; int choice,e; S=InitStack(); S=Input_Sq(S); printf("请选择执行的操作,输入1 执行入栈操作,输入2 执行出栈操作 choice="); scanf("%d",&choice); switch(choice) { case 1: { printf("请输入插...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

链栈顺序栈试验报告

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部