数据结构(C语言版)栈的实现进制的转换
来源:互联网 发布:linux udp connect 编辑:程序博客网 时间:2024/05/22 00:05
/* Note:Your choice is C IDE */#include "stdio.h"#include<malloc.h>#define ok 1#define error 0#define overflow#define stack_init_size 50#define stackincrement 5typedef int status;typedef int selemtype;typedef struct{selemtype *base;selemtype *top;int stacksize;}sqstack;status initstack(sqstack *s){s->base=(selemtype *)malloc(stack_init_size*sizeof(selemtype));if(!s->base)exit(overflow);s->top=s->base;s->stacksize=stack_init_size;return ok;}status push(sqstack *s,selemtype e){if(s->top-s->base==s->stacksize){s->base=(selemtype *)realloc(s->base,(s->stacksize+stackincrement)*sizeof(selemtype));if(!s->base)exit(overflow);s->top=s->base+s->stacksize;s->stacksize+=stackincrement;}*s->top++=e;return ok;}status pop(sqstack *s,selemtype *e){if(s->top==s->base)return error;*e=*--s->top;return ok;}status stackempty_sq(sqstack s){if(s.top==s.base)return ok;elsereturn error;}main(){sqstack sa;int n,i,e;if(initstack(&sa)==ok){printf("init is ok!\n");printf("s.stacksize is %d\n",sa.stacksize);}printf("请输入需要转换的十进制数:\n");scanf("%d",&n);printf("请输入需要将该十进制数转换成何种进制数:\n");scanf("%d",&i);while(n){e=n%i;push(&sa,e);n=n/i;}while(!stackempty_sq(sa)){pop(&sa,&e);printf("%d",e);}printf("\n");system("pause");return 0; }
- 数据结构(C语言版)栈的实现进制的转换
- 清华大学出版社 数据结构(C语言版)的实现
- 数据结构(C语言版)数制转换,用栈来实现十进制换成八进制的数
- 数据结构C语言版进制转换
- 数据结构-栈篇----应用:进制转换(c语言版)
- 数据结构C语言版单链表的实现
- 数据结构 二叉树的实现 c语言版
- 数据结构C语言版--单链表的基本功能实现
- 数据结构之插入排序的实现(C语言版)
- 数据结构(c语言版)链表的实现以及合并
- 数据结构链表的实现(C语言版)
- 栈的实现(C语言版)
- 栈的数组实现(C语言版)
- 数据结构(C语言版)”栈与队列“章节迷宫求解问题的思路与实现
- 顺序栈的九种基本操作和实现(数据结构C语言版清华大学严蔚敏)
- 数据结构之对顺序栈的操作(C语言版)
- 栈的基本操作(附带一个数据结构、C语言版)
- 学习笔记------数据结构(C语言版)进制转换
- 记记
- 在Android底层lib库源码中打印Log
- jsp有哪些动作?作用分别是什么?
- Java get方式中文传参
- 黑马程序员_银行业务调度系统
- 数据结构(C语言版)栈的实现进制的转换
- 几个常见编译链接错误~及如何传递数组形参
- 安装supermap objects后vs工具栏没有supermap控件怎么办
- 和菜鸟一起学电子小玩意之四轴飞行器原理
- JavaScript简单入门
- 数字记位
- 多线程-----重点内容记录解析
- android利用剪切板来实现数据的传递
- 利用LinkedHashMap简单实现基于LRU策略的缓存