欢迎来到天天文库
浏览记录
ID:57673569
大小:153.00 KB
页数:9页
时间:2020-08-31
《顺序栈(作业版).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验4顺序栈的基本操作实验目的:1、熟悉将算法转换成程序代码的过程。2、了解单顺序栈的逻辑结构特性,熟练掌握顺序栈存储结构的C语言描述方法。3、熟练掌握顺序栈的基本操作:入栈、出栈等,掌握顺序栈的存取特性。实验内容:1、从键盘输入一组数据,进行入栈操作;2、获取出栈元素的值;3、能获取栈顶元素;4、打印顺序栈元素;5、输入输出语句利用cin和cout语句重新编写;6、给出程序及各项操作结果。实验步骤:#include#include#include#def
2、ineMAXSIZE100typedefintDataType;typedefstruct{DataTypedata[MAXSIZE];inttop;}SeqStack,*PSeqStack;PSeqStackInit_SeqStack(void){/*创建一顺序栈,入口参数无,返回一个指向顺序栈的指针,为零表示分配空间失败*/PSeqStackS;S=(PSeqStack)malloc(sizeof(SeqStack));if(S){S->top=-1;printf("置空栈成功!");}returnS;}
3、voidDestroy_SeqStack(PSeqStack*SeqStackPoint){/*销毁顺序栈,入口参数:为要销毁的顺序栈指针地址,无返回值*/if(*SeqStackPoint)free(*SeqStackPoint);*SeqStackPoint=NULL;return;}intEmpty_SeqStack(PSeqStackS){/*判断栈是否为空,入口参数:顺序栈,返回值:1表示为空,0表示非空*/if(S->top==-1)return1;elsereturn0;}intPush_SeqSt
4、ack(PSeqStackS,DataTypex){/*在栈顶插入一新元素x,入口参数:顺序栈,返回值:1表示入栈成功,0表示失败。*/if(S->top==MAXSIZE-1)return0;/*栈满不能入栈*/else{/*学生填写*/return1;}}intPop_SeqStack(PSeqStackS,DataType*x){/*删除栈顶元素并保存在*x,入口参数:顺序栈,返回值:1表示出栈成功,0表示失败。*/if(Empty_SeqStack(S))return0;/*栈空不能出栈*/else{/*
5、学生填写*/;return1;}}intGetTop_SeqStack(PSeqStackS,DataType*x){/*取出栈顶元素,入口参数:顺序栈,被取出的元素指针,这里用指针带出栈顶值/*/*返回值:1表示成功,0表示失败。*/if(Empty_SeqStack(S))return0;/*栈空*/else{/*学生填写*//*栈顶元素存入*x中*/return(1);}}voiddisplay(PSeqStackS){/*学生填写*/}voidmain(){/*学生填写*/}实验用测试数据和相关结果分析:
6、(由学生填写)0#include#include#include#defineMAXSIZE100//定义最大长度为100typedefintDataType;//定义DataType为整型typedefstruct{//用结构体定义一个栈DataTypedata[MAXSIZE];//定义data数组储存栈内数据inttop;//定义栈顶指针}SeqStack,*PSeqStack;//SeqStack为结构体类型.*PSeqStack为结构体指针
7、类型PSeqStackInit_SeqStack(void)/*创建一顺序栈,入口参数无,返回一个指向顺序栈的指针,为零表示分配空间失败*/{PSeqStackS;//定义结构体指针S.即为SeqStack*SS=(PSeqStack)malloc(sizeof(SeqStack));//动态创建一个PSeqStack类型的变量sif(S)//若S分配空间成功,另栈顶指针为-1,并返回S,否则返回0{S->top=-1;cout<<"置空栈成功!";returnS;}elsereturn0;}voidDest
8、roy_SeqStack(PSeqStack*SeqStackPoint)/*销毁顺序栈,入口参数:为要销毁的顺序栈指针地址,无返回值*/{if(*SeqStackPoint)//若*SeqStackPoint不为0,释放*SeqStackPoint空间,并令S为NULLfree(*SeqStackPoint);*SeqStackPoint=NULL;return;}in
此文档下载收益归作者所有