数据结构实验报告栈进制转换.doc

数据结构实验报告栈进制转换.doc

ID:48447473

大小:126.25 KB

页数:6页

时间:2020-01-30

数据结构实验报告栈进制转换.doc_第1页
数据结构实验报告栈进制转换.doc_第2页
数据结构实验报告栈进制转换.doc_第3页
数据结构实验报告栈进制转换.doc_第4页
数据结构实验报告栈进制转换.doc_第5页
资源描述:

《数据结构实验报告栈进制转换.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.数据结构试验报告栈的应用——进制转换程序姓名班级学号算法步骤:1.定义栈与建立空栈typedefstruct{int*base;int*top;intstacksize;}Stack;intInitStack(Stack*s){s->base=(int*)malloc(STACK_INIT_SIZE*sizeof(int));if(!s->base){exit(OVERFLOW);}s->top=s->base;s->stacksize=STACK_INIT_SIZE;returnOK;}2.入栈程序intPush(Stack*s,int*e){if(s->top

2、-s->base>=STACK_INIT_SIZE){s->base=(int*)realloc(s->base,(s->stacksize+STACKINCREMENT)*sizeof(int));if(!s->base){exit(OVERFLOW);}s->top=s->base+STACKINCREMENT;}*s->top++=*e;returnOK;}..3.出栈程序intPop(Stack*s,int*e){if(s->top==s->base){returnERROR;}*e=*--s->top;returnOK;}4.主函数与进制转化voidmai

3、n(){intN;inta;inte;Stacks;InitStack(&s);Pop(&s,&e);Push(&s,&e);InitStack(&s);printf("请输入十进制数:");scanf("%d",&N);printf("要将N转化为几进制?");scanf("%d",&a);while(N){e=N%a;Push(&s,&e);N=N/a;}while(s.base!=s.top){Pop(&s,&e);printf("%d",e);}free(s.base);system("pause");}3.源程序#include#incl

4、ude#include..#defineSTACK_INIT_SIZE100#defineSTACKINCREMENT10#defineOK1#defineERROR0#defineOVERFLOW-1#defineTRUE1#defineFALSE-1typedefstruct{int*base;int*top;intstacksize;}Stack;intInitStack(Stack*s){s->base=(int*)malloc(STACK_INIT_SIZE*sizeof(int));if(!s->base){exi

5、t(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){exit(OVERFLOW);}s->top=s->base+STACKINCREMENT;}*s->top++=*e;returnOK;}intP

6、op(Stack*s,int*e)..{if(s->top==s->base){returnERROR;}*e=*--s->top;returnOK;}voidmain(){intN;inta;inte;Stacks;InitStack(&s);Pop(&s,&e);Push(&s,&e);InitStack(&s);printf("请输入十进制数:");scanf("%d",&N);printf("要将N转化为几进制?");scanf("%d",&a);while(N){e=N%a;Push(&s,&e);N=N/a;}while(s.base!=s.top){P

7、op(&s,&e);printf("%d",e);}free(s.base);system("pause");}..调试与体会1.调试结果..2.体会这次数据结构作业我选择了做进制转换,首先我觉得这个比较有实际意义,其次我觉得做迷宫比较难。这次主要是学习如何用栈,栈自动分配变量,以及函数调用时所使用的一些空间。通过编写这次程序,提高了对栈的理解,自我查找与学习交流能力,这次编写程序,自己通过结合课本知识编写了出来。但是这次暴露出自己函数调用还是有一些问题的,通过同学的帮忙解决了很小但很严重的一个问题。这次,我对数据结构和C语言也有了更多地理解。.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。