大数据结构栈地基本操作,进栈,出栈

大数据结构栈地基本操作,进栈,出栈

ID:44953861

大小:83.50 KB

页数:16页

时间:2019-11-06

大数据结构栈地基本操作,进栈,出栈_第1页
大数据结构栈地基本操作,进栈,出栈_第2页
大数据结构栈地基本操作,进栈,出栈_第3页
大数据结构栈地基本操作,进栈,出栈_第4页
大数据结构栈地基本操作,进栈,出栈_第5页
资源描述:

《大数据结构栈地基本操作,进栈,出栈》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、标准文案第五次实验报告——顺序栈、链栈的插入和删除一需求分析1、在演示程序中,出现的元素以数字出现定义为int型,2、演示程序在计算机终端上,用户在键盘上输入演示程序中规定的运算命令,相应的输入数据和运算结果显示在终端上3、顺序栈的程序执行的命令包括如下:(1)定义结构体(2)顺序栈的初始化及创建(3)元素的插入(4)元素的删除(5)顺序栈的打印结果3、链栈的程序执行的命令包括如下:(1)定义结构体(2)链栈的初始化及创建(3)元素的插入(4)元素的删除(5)链栈的打印结果二概要设计大全标准文案1、顺序栈可能需要用到有序表的抽象

2、数据类型定义:ADTList{数据对象:D={ai

3、ai∈ElemL,i=1,2,...,n,n≥0}数据关系:R1={

4、ai-1,ai∈D,i=2,...,n}基本操作:InitStack(SqStack&S)操作结果:构造一个空栈Push(L,e)操作结果:插入元素e为新的栈顶元素StatusPop(SqStack&S)操作结果:删除栈顶元素}ADTList;2、链栈可能需要用到有序表的抽象数据类型定义:ADTList{数据对象:D={ai

5、ai∈ElemL,i=1,2,...,n,n≥0}数据关系:R1=

6、{

7、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)元素插

8、入(5)元素删除(6)主程序:三详细设计线性栈:结构体(邱建美)大全标准文案#defineSTACK_INIT_SIZE100//存储空间初始分配量#defineSTACKINCREMENT10//存储空间分配增量typedefstruct{int*base;//在构造栈之前和销毁之后,base的值为NULLint*top;//栈顶指针intstacksize;//当前已分配的存储空间,以元素为单位}SqStack#include"Base.h"主函数(张涛)#include"construction.h"#include"st

9、ack_operation.c"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;cas

10、e2:{S=Pop(S);printf("执行出栈操作后的线性栈为");Print_Stack(S);};break;default:printf("您输入的值不合法");}}线性栈的创建(郑峰)SqStackInitStack()//线性栈的创建{SqStackS;S.base=(int*)malloc(STACK_INIT_SIZE*sizeof(int));//分配存储空间大全标准文案if(!S.base)exit(OVERFLOW);//存储分配失败S.top=S.base;S.stacksize=STACK_INIT_

11、SIZE;returnS;}输入函数(胡高飞)SqStackInput_Sq(SqStackS)//输入函数{intn,i;printf("请输入元素个数n=");scanf("%d",&n);printf("请输入%d个元素",n);for(i=0;i=S.stacksize)//判断栈是否为满,追加存储空间{S.b

12、ase=(int*)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(int));if(!S.base)exit(OVERFLOW);//存储分配失败S.top=S.base+S.stacksize;S.sta

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。