2023年数据结构实验报告栈进制转换_第1页
2023年数据结构实验报告栈进制转换_第2页
2023年数据结构实验报告栈进制转换_第3页
2023年数据结构实验报告栈进制转换_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构实验报告栈的应用——进制转换程序[W[¥¥算法环节:1.定义栈与建立空栈typedefstruct{int*base;。int*top;intstacksize;(Stack;intInitStack(Stack*s){s->base=(int*)malloc(STACK_INIT_SIZE*sizeof(int));。if(!s—>base)(3exit(0VERFLOW);)。s->top=s->base;。s->stacksize=STACK_INIT_SIZE;。returnOK;)2.入栈程序intPush(Stack*s,int*e)(if(s->top-s->base>=STACK_INIT_SIZE)°{。s->base=(int*)rea1loc(s->base,(s->stacksize+STACKINCREMENT)*sizeof(int));o。if(!s—>base)O0{3sexit(OVERFLOW);oo)。。s->top=s->base+STACKINCREMENT;0)*s->top++=*e;oreturnOK;).出栈程序intPop(Stack*s,int*e){。if(s->top==s->base)°{returnERROR;0}»*e=*-s->top;returnOK;).主函数与进制转化voidmainO(intN;inta;®inte;Stacks;InitStack(&s);Pop(&s,&e);Push(&s,&e);oInitStack(&s);°printf(“请输入十进制数:");scanf("%d",&N);。printf(〃要将N转化为几进制?〃);scanf("%d",&a);。while(N)0{。。e=N%a;Push(&s,&e);N=N/a;。)swhile(s.base!=s.top)。(3Pop(&s,&c);printf("%d",e);)free(s.base);system(〃pause");)3.源程序#inc1ude<stdio.h>#include<ma11oc.h>#include<stdlib.h>^defineSTACK_INIT_SIZE100#defineSTACKINCREMENT10#defineOK1^defineERROR0#defineOVERFLOW-1#defineTRUE1^defineFALSE-1typedefstruct{int*base;int*top;intstacksize;}Stack;intInitStack(Stack*s){s->base=(int*)mal1oc(STACK_IN1T_SIZE*sizeof(int));3if(!s—>hase)°{exit(OVERFLOW);}。s—>top=s->base;s->stacksize=STACK_INIT_SIZE;returnOK;)intPush(Stack*s,int*e){if(s->top-s->base>=STACK_INIT_SIZE)(*s—>base=(int*)realloc(s->base,(s->stacksize+STACKINCREMENT)*sizeof(int));。if(!s->base)0(。。exit(OVERFLOW);a)s->top=s->base+STACKINGREMENT;0)s*s->top++=*e;returnOK;)intPop(Stack*s,int*e)。if(s->top==s->base)°(。。returnERROR;)o*e=*-s->top;。returnOK;)voidmain(){®intN;inta;inte;Stacks;InitStack(&s):。Pop(&s,&e);Push(&s,&e);。InitStack(&s);printf(〃请输入十进制数:“);scanf(“刎",&N);printf(〃要将N转化为几进制?〃);seanf&a);while(N)°{。e二N%a;。Push(&s,&e);。。N=N/a;0)。while(s.base!=s.top)°(Pop(&s,&e);oprintf(”%d”,e);3)free(s.base);system("pause");)

调试与体会1.调试结果/C:\Users\lenovo\Do<uments\VisualStudio2012\Pfo^ects\jinzhi\Debug\jiruhi.exe,古布人十进制裁।1348要卜联化为目送制?82504请按注意硼纸.■C:\Users\lenovo\Docun^ent$\VisualStudio2012\Projects\jinzhi\Debug^in2hi^xe恬河上,一讲制数:1348要将N转化为几进制?2口0191000100清按任意键继续...一.一-81A翳才If*lln一.一-81A翳才If*lln4J要y这次数据结构作业我选择了做进制转换,一方面我觉得这个比较有实际意义,另一方面我觉得做迷宫比较难。这次重要是学习如何用栈,栈自

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论