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

上传人:jian****018 文档编号:8322443 上传时间:2020-03-28 格式:DOC 页数:2 大小:45.52KB
返回 下载 相关 举报
线性顺序栈的入栈与退栈(实验报告).doc_第1页
第1页 / 共2页
线性顺序栈的入栈与退栈(实验报告).doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述
一、 实验目的和要求通过对栈的编程练习,加强对栈的特点、顺序存储结构及其基本运算的理解和掌握。使用C语言根据相应算法编写一个程序,实现建栈、入栈、退栈及读栈顶元素。要求仔细阅读下面的内容,编写一个C程序,上机调试通过,并观察其结果,写出实验报告书。2、 实验内容和原理 内容:建立一个容量15的顺序栈,首先在其中压入5个元素,然后作退栈运算。原理:入栈:首先判断栈顶指针是否指向最后一个位置,若是,则栈满,算法结束。然后将栈顶指针进1。最后将性元素插入到栈顶指针指向的位置。退栈:首先判断栈顶指针是否为0,若是,则栈空,算法结束。然后将栈顶指针赋给一个指定的变量,最后栈顶指针退1。三、主要仪器设备计算机一台3、 实验主程序#include #include struct Stackint size;int top;int *stack;void init(struct Stack *ps,int size)ps-size=size;ps-top=0;ps-stack=malloc(size*sizeof(int);void push(int s,int m,int *top,int x) if(*top=m) printf(Stack overflow!n);return; *top=*top+1; s*top-1=x;void pop(int s,int *top,int *y) if(*top=0) printf(Stack underflown);return; *y=s*top-1; *top=*top-1;void print(const struct Stack *ps)int i;for(i=0;i!=ps-top;+i) printf(%d ,ps-stacki);int main(void) struct Stack a; init(&a,15); int i,y; push(a.stack,a.size,&a.top,99); push(a.stack,a.size,&a.top,88); push(a.stack,a.size,&a.top,5); push(a.stack,a.size,&a.top,1); push(a.stack,a.size,&a.top,55); print(&a); printf(“n”); pop(a.stack,&a.top,&y); pop(a.stack,&a.top,&y); pop(a.stack,&a.top,&y); print(&a); getchar(); return 0; 实验结果五、实验心得 通过实验学习,我理解了线性顺序栈的入栈与退栈的算法,并实现了用c语言编写程序,提高了我的编程能力,受益匪浅。
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!