下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、实验目的1.复习堆栈的基础知识2.练习入栈出栈操作二、实验设备装有运行C语言环境的计算机。三、实验内容实验一1.对下述给定程序,完成:1)阅读并运行程序。2)在有/* */的语句后加注释,说明语句功能2.编程完成在具有10个元素的堆栈的栈顶插入数据11。要求:调试通过并将源程序提交。四、实验步骤和结果实验一代码1. #include #define stacksize 100int push(int s, int x, int *ptop)/*入栈*/int top;top = *ptop; /* top 等于传入的栈的指针所在位置 */if (top = stacksize) /* 判断
2、头指针是否等于栈的最大值 */printf(overflow); return (0); /* 判断栈满的时候输出“overflow”程序结束 */else stop = x; /* 将传入的x值给现在栈顶所在位置 */*ptop = +top; /* 栈顶上移 */return (1); /* 栈未满时进行入栈操作 */void main()static int s100;int top = 0, result;result = push(s, 11, &top); /* 让11入栈 如果成功返回1 result=1 否则result=0 */if (result = 1) /* 入栈成功
3、*/printf(success ! n); printf(top=%d, top); /* 入栈成功 输出sucess 并且把栈顶位置输出 */else printf(failure!);/*入栈失败 输出failure*/2. #include #define stacksize 100int pop(int s , int *ptop, int *py)/* 出栈函数 */ int top; top=*ptop;/* top 等于传入栈顶指针所在位置值 */ if(top=0)/* 位置=0 栈空*/ printf(stack empty); return( 0); /*栈空时 输出 s
4、tack empty 返回值0 */ else -top; *py=stop; /* 将栈顶元素弹出 */ *ptop=top;/*将下移的栈顶指针值 赋值给 *ptop */ return(1); void main()static int s20=10,20,30; int top=3,result,y;result=pop(s,&top,&y);/*出栈函数调用 成功出栈后 result=1 否则等于0 */if(result =1) printf (success ! n); printf (top=%d,y=%d , top,y);/* 成功出栈后输出success 并且将栈顶指针位
5、置值和栈顶元素值输出 */else printf(failure!);插入代码#include #define stacksize 100int pop(int s , int *ptop, int *py)/* 出栈函数 */ int top; top=*ptop;/* top 等于传入栈顶指针所在位置值 */ if(top=0)/* 位置=0 栈空*/ printf(stack empty); return( 0); /*栈空时 输出 stack empty 返回值0 */ else -top; *py=stop; /* 将栈顶元素弹出 */ *ptop=top;/*将下移的栈顶指针值 赋
6、值给 *ptop */ return(1); int push(int s, int x, int *ptop)/*入栈*/int top;top = *ptop; /* top 等于传入的栈的指针所在位置 */if (top = stacksize) /* 判断头指针是否等于栈的最大值 */printf(overflow); return (0); /* 判断栈满的时候输出overflow程序结束 */else stop = x; /* 将传入的x值给现在栈顶所在位置 */*ptop = +top; /* 栈顶上移 */return (1); /* 栈未满时进行入栈操作 */void mai
7、n()static int s20=10,20,30,15,2,1,8,9,8,7; int top=9,a,y,b; a=push(s,11,&top);if ( a= 1) /* 入栈成功 */printf(n 入栈成功! n); printf(top=%d, top); /* 入栈成功 输出sucess 并且把栈顶位置输出 */b=pop(s,&top,&y);/*出栈函数调用 成功出栈后 result=1 否则等于0 */if(b =1) printf (n 出栈成功! n); printf (top=%d,y=%d n, top,y);/* 成功出栈后输出success 并且将栈顶指针位置值和栈顶元素值输出 */else printf(failure!);五、总结和问题1.问题:对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度建筑工地设备租赁安全责任协议3篇
- 2025年房屋租赁合同违约处理协议3篇
- 二零二五年度高端科技企业股份转让合同协议3篇
- 2024版电梯安装工程故障责任与索赔合同
- 二零二五年度金融机构与企业间贷款合同样本2篇
- 二零二五版货车租赁合同范本:货车租赁与货物配送跟踪服务3篇
- 2024版版权所属转让合同2篇
- 景观设计合同范本
- 二零二五年度高端汽车引擎大修与动力升级协议2篇
- 商铺租赁合同
- 泌尿科主任述职报告
- 新零售门店运营管理流程手册
- 心理学专业知识考试参考题库500题(含答案)(一)
- 2024年浙江高考技术试题(含答案)
- 资管行业投研一体化建设
- 提高保险公司客户投诉处理能力的整改措施
- 物业费收取协议书模板
- 电工(中级工)理论知识练习题(附参考答案)
- 工业设计概论试题
- 起重机的维护保养要求与月度、年度检查记录表
- 消防设施维护保养记录表
评论
0/150
提交评论