下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验报告,栈范文 数学与计算机科学系实验报告 课程:数据结构 地点:实验室 时间: xx 年 11 月 23 日 学生姓名 班级 学号 成绩 组别 第一组 同组姓名 仪器编号 实验工程 栈 实验 指导教师 实验目的 掌握 栈 的根本操作 实验要求 栈的定义方法 根本操作算法 应用 实验环境 硬件:计算机 软件:windows xp, c 实验内容及实验结果 请写出具体的实验步骤,并给出相应的实验结果,附上编写的程序及其运行结果截图! 结果截图: 技术原理: 一、关于栈:是限定只能在表的一端进行插入和删除操作的线性表;存储满足后进先出 (lifo )。 栈分顺序栈和链栈。对于链栈栈底就是链表的最
2、后一个结点,栈顶总是链表的第一个结点。 二、对链栈的操作: 1. 只能在链表头部进行操作 2. 表示同线性表 3. 头指针- 栈顶指针 空栈 s.top=s.base pusha ,s.top+ 压入元素 pop (),s.top- s.base 始终指向栈底 s.abse=null 表示栈结构不存在 s.top=0 表示栈空 s.top 始终指向栈顶元素的下一个位置 三、 实验步骤: 源程序: #include #include #define stackinitsize 100 #define stackincrement 10 #define ok 1 #define error 0 #
3、define overflow -1 typedef struct int *base; int *top; int stacksize; sqstack; / 对栈进行初始化 int initstack(sqstack &s) s.base=(int *)malloc(stackinitsize*sizeof(int); if(!s.base) exit(overflow); s.top=s.base; s.stacksize=stackinitsize; return ok; / 进栈 int push(sqstack &s,int e) if(s.top-s.base&g
4、t;=s.stacksize) s.base=(int *)realloc(s.base,(s.stacksize+stackincrement)*sizeof(int); if(!s.base) exit(overflow); s.top=s.base+s.stacksize; s.stacksize=s.stacksize+stackincrement; *s.top=e; *s.top+; return ok; / 出栈 int pop(sqstack &s,int &e) if(s.base=s.top) return error; e=*(s.top-1); *s.t
5、op-; return ok; / 打印栈中元素 int printstack(sqstack s) if(s.base=s.top) printf(" 空栈n"); return ok; else printf(" 栈内容是: "); for(;s.base!=s.top;s.base+) printf("%d ",*s.base); return ok; int main() sqstack s; if(initstack(s) printf(" 初始化栈成功n"); for(;) printf("n
6、 请选择要进行的操作:n"); printf("1 进栈 2 出栈 n3 打印 0 退出n"); int select; scanf("%d",&select); if(select=0) break; switch(select) case 0: break; case 1: int pushelem; printf(" 输入要进栈的元素: "); scanf("%d",&pushelem); if(push(s,pushelem) printf(" 进栈成功n"); else printf(" 进栈失败n"); break; case 2: int e; if(pop(s,e) printf(" 元素 %d 出栈n",e); else printf(" 出栈失败n"); break; case 4: if(printstack(s) printf(" 打印完毕n"); break; default: printf(&qu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《Dreamweaver CS5网页设计与制作实例教程》课件-第1章 概述
- 2025年全球及中国应急响应无人机行业头部企业市场占有率及排名调研报告
- 2025年全球及中国用于光学应用的超透镜行业头部企业市场占有率及排名调研报告
- 2025年全球及中国单相栅极驱动器IC行业头部企业市场占有率及排名调研报告
- 2025年全球及中国台式激光二极管驱动仪行业头部企业市场占有率及排名调研报告
- 2025-2030全球高山输送机行业调研及趋势分析报告
- 2025年全球及中国栅网型离子源行业头部企业市场占有率及排名调研报告
- 2025-2030全球大麻含量分析仪行业调研及趋势分析报告
- 2025-2030全球药品和食品防伪技术行业调研及趋势分析报告
- 2025-2030全球立式高温反应釜行业调研及趋势分析报告
- 江苏省苏州市2024-2025学年高三上学期1月期末生物试题(有答案)
- 销售与销售目标管理制度
- 2025年第一次工地开工会议主要议程开工大吉模板
- 第16课抗日战争课件-人教版高中历史必修一
- 对口升学语文模拟试卷(9)-江西省(解析版)
- 糖尿病高渗昏迷指南
- (正式版)HGT 22820-2024 化工安全仪表系统工程设计规范
- 养老护理员培训老年人日常生活照料
- 各种抽油泵的结构及工作原理幻灯片
- 学习弘扬雷锋精神主题班会PPT雷锋精神我传承争当时代好少年PPT课件(带内容)
- 社区获得性肺炎的护理查房
评论
0/150
提交评论