【数据结构】 利用栈实现进制转换
来源:互联网 发布:北京匡恩网络ceo 编辑:程序博客网 时间:2024/05/16 05:58
利用栈 转换进制 碰到 大于 10的进制 需要在进栈元素处做相应的处理
/***// 数制 转换问题 所得商 入栈 计算完毕后 出栈 即为所得InitStack ( &S) : 栈的初始化Push ( &S, e) :进栈Pop (&S ) : 出栈GetTop (S ): 取栈顶元素IsEmpty (S): 判栈空否***/#include <stdio.h>#include <stdlib.h>#define STACK_MAX 1000typedef int ElemType;typedef struct Stack{int top;ElemType elem[STACK_MAX];}Stack,*Pstack;void InitStack (Pstack S) ; // 栈的初始化void Push (Pstack S, ElemType elem) ; // 进栈ElemType Pop (Pstack S ) ; // 出栈ElemType GetTop (Pstack S ); // 取栈顶元素bool IsEmpty (Pstack S); // 判栈空否void main(){int num = 0;int binary = 0;Stack stack;Pstack pstack = &stack;InitStack(pstack);printf("输入十进制数字:");scanf("%d",&num);printf("输入转换成的进制:");scanf("%d",&binary);while (num != 0){Push(pstack,num%binary);num = num/binary;}while (!IsEmpty(pstack)){printf("%d",Pop(pstack));}printf("\n");}void InitStack (Pstack S) // 栈的初始化{S->top = 0;for (int i = 0; i < STACK_MAX; i++)S->elem[i] = 0;}void Push (Pstack S, ElemType elem) // 进栈{if (S->top != STACK_MAX) // 判断是否栈满S->elem[(S->top)++] = elem;}ElemType Pop (Pstack S ) // 栈顶元素出栈{return S->elem[-- (S->top)];}ElemType GetTop (Pstack S ) // 取栈顶元素{if (!IsEmpty(S))return S->elem[S->top-1];elseprintf("栈空~~\n");}bool IsEmpty (Pstack S) // 判栈空否{return (S->top == 0);}
0 0
- 【数据结构】 利用栈实现进制转换
- 数据结构之利用栈进行进制转换
- 数据结构之 栈 实现进制转换
- 利用栈实现进制的转换!
- 利用栈实现进制的转换
- 利用栈实现进制转换
- 利用栈实现进制转换!!!
- 数据结构5:利用栈实现二进制到十进制的转换
- 考研数据结构与算法之堆栈的使用(二)利用堆栈实现进制转换
- 利用栈来实现进制的自动转换
- 利用栈实现的的进制转换
- 利用栈实现10进制转换为8进制
- 利用移位运算实现进制转换
- 利用尾递归实现进制转换
- 数据结构-栈--进制转换
- 利用栈实现中缀转换为后缀(P67,数据结构与算法分析Java)
- 利用栈的数据结构实现中缀表达式到后缀表达式的转换
- 利用栈实现进制转换1,常用进制转换成十进制
- ReactiveCocoa
- Socket通信原理和实践
- android ROM root&root kernel
- Spring管理filter和servlet,无硬编码bean
- WampServer中文安装教程
- 【数据结构】 利用栈实现进制转换
- HTML5画布振荡斑点
- 冷热备份操作细节实验
- 创建表空间及用户和权限
- Android 中的framebuffer
- Android--JS向Android传递参数,并获得返回值(一个简单的实例)
- 从技术上分析汤唯遭遇电信诈骗的细节
- 原生js(点击按钮换图)
- Android MediaPlayer状态机