- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构之进制转换
算法与数据结构实验报告
实验三
实验名称: 栈和队列—进制转换
姓名: X X X
学号: 211106365
专业: 软件工程
班级: X班
指导教师: X X X
日期: 2013年 月 日
实验目的
学会应用栈或队列解决进制转换问题,熟练掌握在顺序栈(队列)或链栈(队列)上实现的各种基本操作。
实验内容与实验步骤
内容:利用栈实现十进制和其他任意进制数的任意转换输出问题
进制转换原理:N = (N div d) *d + N mod d(其中:div 为整除运算,mod 为求余运算)
步骤: 1 定义栈数据类型,采用链式存储结构实现
2 链栈基本操作函数原型声明
3 初始化栈
4 输入栈
5 输出栈
6 判空栈
7 自定义实现进制转换函数
8 数据调试
9 程序结束
实验环境
操作系统winXP、开发平台:Microsoft Visual C++6.0
实验过程与分析
程序设计过程中忘了考虑到开始报数的数不能超过最大编号;而导致程序的健壮性不足,经修改后,解决了这一问题;
实验结论
(1348)10 = (2504)8
(11)10 = (B)16
(8)10 = (1000)2
附录
#define STACK_INIT_SIZE 100 //存储空间初始分配量
#define STACKINCREMENT 10 //存储空间分配增量
#define ERROR 0
#define OVERFLOW -2
#include stdio.h
#includemalloc.h
#includeprocess.h
typedef int SElemType;
typedef struct
{
SElemType *base;// 在栈构造之前和销毁之后,base 的值为NULL
SElemType *top;// 栈顶指针
int StackSize; //当前已分配的存储空间,以元素为单位
}SqStack;
void InitStack(SqStack *s) //初始化栈
{
s-base =(SElemType*)malloc (STACK_INIT_SIZE * sizeof(SElemType));
if(!s-base) exit(OVERFLOW);
s-top=s-base;
s-StackSize= STACK_INIT_SIZE;
}
void Push(SqStack *s,SElemType e) // 输入栈
{
if (s-top-s-base=s-StackSize)
{
s-base=(SElemType *) realloc (s-base,(s-StackSize+STACKINCREMENT)*sizeof(SElemType)); //栈满,追加存储空间
if(!s-base) exit(OVERFLOW); //若内存中没有s-StackSize+STACKINCREMENT个连续空间则分配失败
s-top=s-base+s-StackSize;
s-StackSize+=STACKINCREMENT;
}
*s-top++ =e;
}
int Pop(SqStack *s,SElemType *e) //输出栈
{
if (s-top==s-base)
return ERROR;
s-top=s-top-1;
*e = *s-top;
}
int StackEmpty(SqStack s) //判空栈
{
if (s.top ==s.base)
return 1;
else
return 0;
}
void Conversion(int N,int m)
{
SElemType e;
SqStack s;
InitStack(s);
while(N)
{
Push(s,N%m);
N= N/m;
您可能关注的文档
- 教师法治教育考试判断题专题.doc
- 教师练好基本功,课堂实效大提升.doc
- 教师考核民主测评表.doc
- 教师科研工作量定额及考核办法.doc
- 教师继续教育实践研修成果.doc
- 教师职业道德期末试卷C.doc
- 教师职业道德相关案例.doc
- 教师职业道德形成性考核册全套答案.doc
- 教师职业道德笔记-超级全面.doc
- 教师职业道德规范60条.doc
- 2.2.1 2~6的乘法口诀教学课件 2025人教版数学二年级上册.ppt
- 3.1.2 除法的初步认识(2)(教学课件) 2025人教版数学二年级上册.ppt
- 3.3 整理和复习(教学课件) 2025人教版数学二年级上册.ppt
- 道法人教版(2025)8上2.5.3《友善待人》课件.ppt
- 2.2.3 2~6的乘法口诀(3)(教学课件) 2025人教版数学二年级上册.ppt
- 1分类与整理(2)(教学课件) 2025人教版数学二年级上册.ppt
- 道法人教版(2025)8上1.2.2《养成亲社会行为》课件.ppt
- 4.4 厘米和米教学课件 2025人教版数学二年级上册.ppt
- 5.1.2 7~9的乘法口诀 教学课件 2025人教版数学二年级上册.ppt
- 2.2.2 2~6的乘法口诀(2)(教学课件) 2025人教版数学二年级上册.ppt
最近下载
- 长期卧床患者的体位护理技巧.pptx VIP
- JBT14159.3-2022 空气分离设备能效限额第3部分:液化设备.pdf VIP
- 《民用建筑设计通则》图示.docx VIP
- 灭火应急疏散预案.doc VIP
- 铁路内燃、电力司机考试题库.doc VIP
- 新概念英语第一册 Lesson 55-56 课件.ppt VIP
- 2025AI+BI峰会:DeepInsight Copilot 演进史以及未来探索.pdf VIP
- 《临床药学文献阅读汇报抗感染粘菌素在治疗鲍曼不动杆菌感染vap中的应用》课件模板.ppt VIP
- 2025年福建公需课答案.pdf VIP
- 2020四川园林绿化工程说明及计算规则.pdf VIP
文档评论(0)