2022年数据结构实验三资料 .pdf
《2022年数据结构实验三资料 .pdf》由会员分享,可在线阅读,更多相关《2022年数据结构实验三资料 .pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构实验报告三实验名:栈的基本操作院系:物理与电子工程系姓名:黄锐(2009122105)班级:20091221 日期:2010-10-13 请在下次上机前以附件形式提交到yuan_ 一、上机实验的问题和要求:设计算法,入栈和出栈的操作。具体实现要求:1写出栈的入栈和出栈算法。2 写一个程序,将输入的十进制数据M 转换为八进制数据M8,将其调试通过。在此基础上修改程序,实现十进制数据M 向 N 进制(2 或 8 或 16)的转换。(1)采用顺序存储结构实现栈。(2)采用链表结构实现栈。二、程序设计的基本思想,原理和算法描述:(包括程序的结构,数据结构,输入/输出设计,符号名说明等)关于链表
2、实现栈操作,内存空间利用比较充分,你插入一个,他就给你分配一个内存空间,这样相对顺序表实现栈比较合理。三、源程序及注释:1.采用顺序存储结构实现栈:#include#include#include#define STACK_INIT_SIZE 100#define STACKINCREMENT 10 typedef struct int*base;int*top;int stacksize;SqStack;名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 6 页 -/初始化得到一个空栈/void InitStack(SqStack&s)s.base=(int*)malloc(STA
3、CK_INIT_SIZE*sizeof(int);if(!s.base)exit(0);s.top=s.base;s.stacksize=STACK_INIT_SIZE;/向栈里插入一个数/int StackInter(SqStack&s,int e)if(s.top-s.base=s.stacksize)s.base=(int*)realloc(s.base,(s.stacksize+STACKINCREMENT)*sizeof(int);if(!s.base)exit(0);s.top=s.base+s.stacksize;s.stacksize+=STACKINCREMENT;*s.to
4、p+=e;return 1;/把栈顶元素删除,并把值赋给e,实现退栈/int StackPop(SqStack&s,int&e)if(s.top=s.base)return 0;e=*-s.top;*s.top=0;return 1;main()SqStack p;int q=0,n,j,date20,o;printf(请输入一个十进制的数和要转换的目标进制:n);cinno;InitStack(p);/入栈/while(n)StackInter(p,n%o);n/=o;q+;cout转换后的数为:;/出栈输出结果/for(j=0;jq;j+)名师资料总结-精品资料欢迎下载-名师精心整理-第
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年数据结构实验三资料 2022 数据结构 实验 资料
限制150内