数据结构第二次实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
测试过程: (实验中出现的问题、错误、解决方法) 错误: [Linker error] undefined reference to `StackEmpty(SqStack)' [Linker error] undefined reference to `StackEmpty(SqStack)' ld returned 1 exit status 解决方法: 少了 StackEmpty 程序的调用 Status StackEmpty(SqStack S) { //若栈 S 为空栈,则返回 TRUE,否则返回 FALSE if(S.top==S.base) return TURE; else return ERROR; }// StackEmpty 错误: In function `Status InitStack(SqStack&)': `OVERFLOW' undeclared (first use this function) (Each undeclared identifier is reported only once for each function it appears in.) 解决方法:在头文件后加 #define OVERFLOW 0 定义 OVERFLOW 的量
2.巩固对这两种结构方法的掌握。 3.接触较复杂问题的递归算法设计。
签名 2014 年 评语与成绩:
பைடு நூலகம்
郑小玉 11 月
20

教师签名: 年


实验内容: (数制转换操作) int conversion(int N,int d) { //N:表示十进制正整数,d 表示 2 到 16 之间的某种进制 //面实现将十进制整数 N 转换成某种 d 进制数,并输出显示。 SqStack S; int e; InitStack(S);//构造空栈 while(N) { Push(S, N % d); N = N / d; } while(!StackEmpty(S)) { Pop(S,e); if(e<10) cout<<e; else cout<<e+55; } cout<<endl; }
实验步骤: (算法描述、源程序、操作步骤和方法) 算法描述:利用栈的操作实现数制转换 基本操作:构建一个栈 实现栈的输入输出 创建实现数制的转换 利用主函数调用来实现操作 源程序:Status InitStack(SqStack &S); //构造一个空栈 S Status StackEmpty(SqStack S); //若栈 S 为空栈,则返回 TRUE,否则返回 FALSE Status GetTop(SqStack S,SElemType &e); //若栈不空,则用 e 返回 S 的栈顶元素,并返回 OK;否则返回 ERROR Status Pop (SqStack &S,SElemType &e);
//若栈不空,则删除 S 的栈顶元素,用 e 返回其值,并返回 OK;否 //则返回 ERROR
实验步骤: (算法描述、源程序、操作步骤和方法)
洛阳师范学院信息技术学院 软件实验报告
专业: 网络工程 课程:数据结构
学号:131124007 姓名:郑小玉班级:13 级 实验名称 实验类型 验证性
栈和队列及其应用——数制转换
实验时间
2014.11.8
实验环境 实验目的与要求:
1.深入了解栈和队列的特性。
WindowsXP DEV-C++ 5
实验总结: 利用栈实现数制转换,构建栈是关键。另外也要熟悉对栈内元素输入输出的操作,还有要构建一 个实现数制转换的函数,最后就是对函数的调用。这次实验,我出错的地方大多都是函数变量没有定 义,还有就是要用的函数没有构造完整。因此,完成一个程序不仅要构造好骨架,而且要注意细节和 函数之间的关系。
相关文档
最新文档