下载此文档

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


文档分类:IT计算机 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
该【数据结构-栈十进制转八进制的算法详解(已测试过) 】是由【幸福人生】上传分享,文档一共【7】页,该文档可以免费在线阅读,需要了解更多关于【数据结构-栈十进制转八进制的算法详解(已测试过) 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。数据结构-栈十进制转八进制的算法详解(已测试过)
实验目的
建立栈实现十进制转八进制
实验内容
编程序并上机调试运行。
建立栈实现十进制转八进制
编写程序
//十进制转八进制
#include<>
#include<>
#include<>
#defineSTACK_INIT_SIZE100
#defineSTACKINCREMENT10
typedefstruct{
int*base;
int*top;
intstacksize;
}sqstack;
intinitstack(sqstack*s)
{s->base=(int*)malloc(STACK_INIT_SIZE*sizeof(int));
if(!s->base)
exit(0);
s->top=s->base;
s->stacksize=STACK_INIT_SIZE;
return0;
}//构造一个空栈s
intpush(sqstack*s,inte)
{if((s->top-s->base)>=s->stacksize){
s->base=(int*)realloc(s->base,(s->stacksize+
printf("%d",e);
}
printf("\n");
}//对于输入的任意一个非负十进制整数,打印出与其等值的八进制数
intmain()
{
intn;
//sqstack*s;
// initstack(s);
conversion(n);
return0;
}//主函数
运行程序:
程序解析:
,要有#include<>,然后定义STACK_INIT_SIZE为100,STACKINCREMENT为10。
定义栈顶和栈底都为int型,并且stacksize为int型。
构建一个空栈。
建立一个空栈,但建立不成功是就强制退出,建立成功时就使栈顶和栈顶指向同一个点,并且分配预定长度的节给stacksize。

插入一个新的元素到栈里,如果长度超过栈的长度,则重新分配新的空间给sqstack。如果栈底部存在则发生错误,意外退出。然后让e插入成为新的栈顶元素。
判断栈是否为空栈。
该函数用stackempty表示,如果栈顶等于栈底,则栈为空栈,返回1,否则返回0.
取出栈顶元素
若栈为空,则返回1,若栈不为空,则让e指向s的栈顶元素,删除s的栈顶元素,用e返回其值。

定义一个空栈s,然后scanf输入一个数,当该数不为0时,就执行push函数和n=n/8,如果n=0则跳出循环。然后当栈不为空时,将栈顶一个一个取出,得到的为原十进制数的八进制数。

这里的main函数只要三句话就够了。定义n,和调用conversion函数,return0.

数据结构-栈十进制转八进制的算法详解(已测试过) 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人幸福人生
  • 文件大小1.40 MB
  • 时间2022-10-02
最近更新