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

下载本文档

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

文档简介

1、数据结构试验报告 栈的应用一一进制转换程序 姓名班级学号 算法步骤: 1定义栈与建立空栈 typedef struct int *base; int *top; int stacksize; Stack; int In itStack(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; return OK; 2入栈程序 int Push(Stack *s , int *e) if(s

2、-top - s-base = STACK_INIT_SIZE) s-base=(i nt *)realloc(s-base , (s-stacksize + STACKINCREMENT) sizeof( in t); if(!s-base) I exit(OVERFLOW); s-top=s-base + STACKINCREMENT; * s-top + = *e; return OK; 3出栈程序 int Pop(Stack *s , int *e) 4主函数与进制转化 void mai n() int N; int a; int e; Stack s; In itStack( Pop

3、( Push( In itStack( printf(请输入十进制数:); scan f(%d, while(s.base!=s.top) Pop( prin tf(%d,e); free(s.base); system(pause); 3源程序 #in clude #in clude #in clude #define STACK INIT SIZE 100 #defi ne STACKINCREMENT 10 #defi ne OK 1 #defi ne ERROR 0 #defi ne OVERFLOW -1 #defi ne TRUE 1 #defi ne FALSE -1 typed

4、ef struct int e = * - s-top; base; int *top; int stacksize; Stack; nt In itStack(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; return OK; int Push(Stack *s , int *e) if(s-top - s-base = STACK_INIT_SIZE) s-base=(i

5、nt *)realloc(s-base , (s-stacksize + STACKINCREMENT) sizeof( in t); if(!s-base) exit(OVERFLOW); s-top=s-base + STACKINCREMENT; * s-top + = *e; return OK; nt Pop(Stack *s , int *e) if(s-top = s-base) return ERROR; l return OK; void mai n() In itStack( Pop( Push( In itStack( printf( 请输入十进制数:); scan f(%d, printf( 要将N转化为几进制?); scan f(%d, Pop( prin tf(%d,e); free(s.base); system(pause); 调试与体会 1. 调试结果 2. 体会 这次数据结构作业我选择了做进制转换,首先我觉得这个比较有实际意义,其次我觉得 做迷宫比较难。 这次主要是学习如何用栈,栈自动分配变量, 以及函数调用时所使用的一些空间。通过 编写这次程序,提高了对栈的理解,自我查找与学习交流能力,这

温馨提示

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

评论

0/150

提交评论