1 / 2
文档名称:

线性顺序栈的入栈与退栈(实验报告).doc

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

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

分享

预览

线性顺序栈的入栈与退栈(实验报告).doc

上传人:762357237 2019/4/22 文件大小:25 KB

下载得到文件列表

线性顺序栈的入栈与退栈(实验报告).doc

文档介绍

文档介绍:实验目的和要求通过对栈的编程练****加强对栈的特点、顺序存储结构及其基本运算的理解和掌握。使用C语言根据相应算法编写一个程序,实现建栈、入栈、退栈及读栈顶元素。要求仔细阅读下面的内容,编写一个C程序,上机调试通过,并观察其结果,写出实验报告书。实验内容和原理内容:建立一个容量15的顺序栈,首先在其中压入5个元素,然后作退栈运算。原理:入栈:首先判断栈顶指针是否指向最后一个位置,若是,则栈满,算法结束。然后将栈顶指针进1。最后将性元素插入到栈顶指针指向的位置。退栈:首先判断栈顶指针是否为0,若是,则栈空,算法结束。然后将栈顶指针赋给一个指定的变量,最后栈顶指针退1。三、主要仪器设备计算机一台实验主程序#include<>#include<>structStack{ intsize; inttop; int*stack;};voidinit(structStack*ps,intsize){ ps->size=size; ps->top=0; ps->stack=malloc(size*sizeof(int));}voidpush(ints[],intm,int*top,intx){if(*top==m){printf("Stackoverflow!\n");return;}*top=*top+1;s[*top-1]=x;}voidpop(ints[],int*top,int*y){if(*top==0){printf("Stackunderflow\n");return;}*y=s[*top-1];*top=*top-1;}voidprint(conststructStack*ps){ inti; for(i=0;i!=ps->top;++i)printf("%d",ps->stack[i]);}intmain(void){structStacka;init(&a,15