1 / 16
文档名称:

链栈顺序栈实验报告.doc

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

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

分享

预览

链栈顺序栈实验报告.doc

上传人:799474576 2020/1/6 文件大小:46 KB

下载得到文件列表

链栈顺序栈实验报告.doc

文档介绍

文档介绍:第五次实验报告——顺序栈、链栈的插入和删除一需求分析在演示程序中,出现的元素以数字出现定义为int型,演示程序在计算机终端上,用户在键盘上输入演示程序中规定的运算命令,相应的输入数据和运算结果显示在终端上3、顺序栈的程序执行的命令包括如下:(1)定义结构体(2)顺序栈的初始化及创建(3)元素的插入(4)元素的删除(5)顺序栈的打印结果链栈的程序执行的命令包括如下:(1)定义结构体(2)链栈的初始化及创建(3)元素的插入(4)元素的删除(5)链栈的打印结果二概要设计1、顺序栈可能需要用到有序表的抽象数据类型定义:ADTList{数据对象:D={ai|ai∈ElemL,i=1,2,...,n,n≥0}数据关系:R1={<ai-1,ai>|ai-1,ai∈D,i=2,...,n}基本操作:InitStack(SqStack&S)操作结果:构造一个空栈Push(L,e)操作结果:插入元素e为新的栈顶元素StatusPop(SqStack&S)操作结果:删除栈顶元素}ADTList;2、链栈可能需要用到有序表的抽象数据类型定义:ADTList{数据对象:D={ai|ai∈ElemL,i=1,2,...,n,n≥0}数据关系:R1={<ai-1,ai>|ai-1,ai∈D,i=2,...,n}基本操作:LinkStack(SqStack&S)操作结果:构造一个空栈StatusPush(L,e)操作结果:插入元素e为新的栈顶元素StatusPop(SqStack&S)操作结果:删除栈顶元素}ADTList;3、顺序栈程序包含的主要模块:(1)已给定的函数库:(2)顺序栈结构体:(3)顺序栈初始化及创建:(4)元素插入(5)元素删除(6)主程序:4、链栈程序包含的主要模块:(1)已给定的函数库:(2)链栈结构体:(3)链栈初始化及创建:(4)元素插入(5)元素删除(6)主程序:三详细设计线性栈:结构体#defineSTACK_INIT_SIZE100//存储空间初始分配量#defineSTACKINCREMENT10//存储空间分配增量typedefstruct{ int*base;//在构造栈之前和销毁之后,base的值为NULL int*top;//栈顶指针 intstacksize;//当前已分配的存储空间,以元素为单位}SqStack#include""主函数#include""#include""intmain(){ SqStackS; intchoice,e; S=InitStack(); S=Input_Sq(S); printf("请选择执行的操作,输入1执行入栈操作,输入2执行出栈操作choice="); scanf("%d",&choice); switch(choice) { case1: { printf("请输入插入元素的值e="); scanf("%d",&e); S=Push(S,e); printf("执行入栈操作后的线性栈为"); Print_Stack(S); };break; case2: {S=Pop(S); printf("执行出栈操作后的线性栈为"); Print_Stack(S); };break; default:printf("您输入的值不合法"); }}线性栈的创建SqStackInitStack()//线性栈的创建{ SqStackS; =(int*)malloc(STACK_INIT_SIZE*sizeof(int));//分配存储空间 if(!) exit(OVERFLOW);//存储分配失败 =; =STACK_INIT_SIZE; returnS;}输入函数SqStackInput_Sq(SqStackS)//输入函数{ intn,i; printf("请输入元素个数n="); scanf("%d",&n); printf("请输入%d个元素",n); for(i=0;i<n;i++) { scanf("%d",); ++; } returnS;}进栈函数SqStackPush(SqStackS,inte)//进栈函数{ if(->=)//判断栈是否为满,追加存储空间 { =(int*)realloc(,(+STACKINCREMENT)*sizeof(int)); if(!) exit(OVERFLOW);//存储分配失败 =+; +=STACKINCRE

最近更新

江西省赣州市事业单位招聘考试(职业能力倾向.. 146页

河南平顶山2024市直事业单位招聘55人历年高频.. 60页

河南郑州二七区2024年公开招聘事业单位工作人.. 60页

浙江宁波市港航管理局2024年公开招聘编外工作.. 59页

浙江省丽水市事业单位招聘考试(职业能力倾向.. 149页

浙江省宁波市事业单位招聘考试(职业能力倾向.. 147页

浙江省绍兴市事业单位招聘考试(职业能力倾向.. 148页

浙江省金华市事业单位招聘考试(职业能力倾向.. 146页

湖南省长沙市工商行政管理局招聘工作人员10名.. 60页

福建宁德2024下半年市直及县区事业单位招聘57.. 59页

福建省三明市事业单位招聘考试(职业能力倾向.. 146页

福建省地震局2024年公开招聘13名事业单位工作.. 59页

福建省漳州市事业单位招聘考试(职业能力倾向.. 148页

福建省莆田市事业单位招聘考试(职业能力倾向.. 149页

营口市2024年市直部分事业单位公开招聘工作人.. 61页

贵州省铜仁地区选调生考试(行政职业能力测验.. 149页

辽宁省丹东市事业单位招聘考试(职业能力倾向.. 147页

大工13秋《审计学》大作业题目及要求 7页

辽宁省沈阳市事业单位招聘考试(职业能力倾向.. 148页

辽宁省葫芦岛市事业单位招聘考试(职业能力倾.. 147页

辽宁省铁岭市事业单位招聘考试(职业能力倾向.. 148页

重庆北碚区2024年下半年招聘事业单位工作人员.. 60页

重庆市南充市选调生考试(行政职业能力测验).. 148页

重庆市阿坝藏族羌族自治州选调生考试(行政职.. 149页

重庆綦江区2024事业单位招聘更正历年高频难、.. 59页

陕西省属事业单位招聘历年高频难、易点(公共.. 60页

黑龙江卫生厅直属事业单位2024年招聘34人历年.. 60页

黑龙江省哈尔滨市事业单位招聘考试(职业能力.. 149页

黑龙江省黑河市事业单位招聘考试(职业能力倾.. 148页

30题实验员岗位常见面试问题含HR问题考察点及.. 26页