数据结构栈十进制转八进制的算法详解(已测试过).doc

数据结构栈十进制转八进制的算法详解(已测试过).doc

ID:48447472

大小:68.50 KB

页数:6页

时间:2020-01-30

数据结构栈十进制转八进制的算法详解(已测试过).doc_第1页
数据结构栈十进制转八进制的算法详解(已测试过).doc_第2页
数据结构栈十进制转八进制的算法详解(已测试过).doc_第3页
数据结构栈十进制转八进制的算法详解(已测试过).doc_第4页
数据结构栈十进制转八进制的算法详解(已测试过).doc_第5页
资源描述:

《数据结构栈十进制转八进制的算法详解(已测试过).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.实验目的建立栈实现十进制转八进制实验内容编程序并上机调试运行。建立栈实现十进制转八进制1.编写程序//十进制转八进制#include#include#include#defineSTACK_INIT_SIZE100#defineSTACKINCREMENT10typedefstruct{int*base;int*top;intstacksize;}sqstack;intinitstack(sqstack*s){s->base=(int*)malloc(STACK_INIT_SIZE*sizeof(int));if(!s->b

2、ase)exit(0);s->top=s->base;s->stacksize=STACK_INIT_SIZE;return0;}//构造一个空栈sintpush(sqstack*s,inte){if((s->top-s->base)>=s->stacksize){s->base=(int*)realloc(s->base,(s->stacksize+STACKINCREMENT)*sizeof(int));if(!(s->base))exit(1);..s->top=s->base+s->stacksize;s->stacksize+=STACKINCREMENT;}*s->top

3、++=e;return0;}//插入新的元素e为新的栈顶元素intstackempty(sqstack*s){if(s->top==s->base)return1;elsereturn0;}//若栈s为空栈,则返回1,否则返回0intpop(sqstack*s,int*e){if(s->top==s->base)return1;*e=*--s->top;return0;}//若栈不为空,则删除s的栈顶元素,用e返回其值,返回OK,否则返回ERRORvoidconversion(intn){sqstacks;inte;initstack(&s);printf("请输入一个十进制数:

4、");scanf("%d",&n);while(n){push(&s,n%8);n=n/8;}printf("");printf("该数的八进制数为:");while(!stackempty(&s)){pop(&s,&e);printf("%d",e);}..printf("");}//对于输入的任意一个非负十进制整数,打印出与其等值的八进制数intmain(){intn;//sqstack*s;//initstack(s);conversion(n);return0;}//主函数运行程序:程序解析:1.首先是将程序的开头写好,要有#include,然

5、后定义STACK_INIT_SIZE为100,STACKINCREMENT为10。..定义栈顶和栈底都为int型,并且stacksize为int型。2.构建一个空栈。建立一个空栈,但建立不成功是就强制退出,建立成功时就使栈顶和栈顶指向同一个点,并且分配预定长度的节给stacksize。3.插入新的元素e为新的栈顶元素插入一个新的元素到栈里,如果长度超过栈的长度,则重新分配新的空间给sqstack。如果栈底部存在则发生错误,意外退出。然后让e插入成为新的栈顶元素。4.判断栈是否为空栈。..该函数用stackempty表示,如果栈顶等于栈底,则栈为空栈,返回1,否则返回0.5.取出栈顶元

6、素若栈为空,则返回1,若栈不为空,则让e指向s的栈顶元素,删除s的栈顶元素,用e返回其值。6.建立conversion函数定义一个空栈s,然后scanf输入一个数,当该数不为0时,就执行push函数和n=n/8,如果n=0则跳出循环。然后当栈不为空时,将栈顶一个一个取出,得到的为原十进制数的八进制数。7.建立main函数。..这里的main函数只要三句话就够了。定义n,和调用conversion函数,return0..

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

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

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