数据结构栈之进制转换
来源:互联网 发布:草东没有派对知乎 编辑:程序博客网 时间:2024/05/16 04:40
数据结构实验之栈一:进制转换
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
输入一个十进制非负整数,将其转换成对应的 R (2 <= R <= 9) 进制数,并输出。
Input
第一行输入需要转换的十进制非负整数;
第二行输入 R。
Output
输出转换所得的 R 进制数。
Example Input
12798
Example Output
2377
代码:
C语言中,*表示指针。&表示取址。定义函数时SqStack *S为一个结构体指针,所以实参&S,传递的时结构体的地址C语言规定,地址必须用指针来接收。小知识点:空间不够用realloc函数来开辟空间#include <stdio.h>#include <stdlib.h>#include <string.h>#define STACKINCREMENT 10000 //存储空间分配增量#define STACKINITSIZE 10000 //存储空间初始分配量typedef char SElemType;typedef struct{ SElemType *base;//定义栈底指针; SElemType *top;//定义暂定指针, int stacksize;//当前已分配的存储空间}SqStack;int InitStack(SqStack *S) //初始化栈{ S->base = (SElemType *)malloc(STACKINITSIZE*sizeof(SElemType));//为栈底开辟空间 if(!S->base) return 0;//如果开辟空间失败,返回为0; S->top = S->base; S->stacksize = STACKINITSIZE;//S->stacksize为开辟的空间 return 1;}int Push(SqStack *S,char e)//入栈函数{ if(S->top - S->base>=S->stacksize)//先判断空间是否足够 { S->base = (SElemType *)realloc(S->base, (S->stacksize + STACKINCREMENT)*sizeof(SElemType));//新开的空间,用realloc函数 if(!S->base) return 0;//如果创建失败,返回0 S->top = S->base + S->stacksize;//再次确定S->top的地址,防止S->base改变。而丢失了S->top的地址 S->stacksize = S->stacksize + STACKINCREMENT;//更新S->stacksize } *(S->top) = e;//进行进栈操作 S->top++; return 1;}int Pop(SqStack *S)//出栈函数{ while(S->top != S->base)//出栈到底返回为0 { printf("%d",*(S->top-1)); S->top--; } return 1;}int main(){ SqStack S; InitStack(&S);//记得要初始化栈!!!第二次做的时候忘初始化栈一直做不出来 int m,n,e; scanf("%d%d",&m,&n); if(m==0) printf("0"); while(m) { e = m%n; m = m/n; Push(&S,e); } Pop(&S); printf("\n"); return 0;}
阅读全文
0 0
- 【数据结构】栈应用之进制转换
- 数据结构栈应用之进制转换
- 数据结构之 栈 实现进制转换
- 数据结构之栈一:进制转换
- 数据结构栈之进制转换
- 数据结构之进制转换
- 数据结构实验之栈一:进制转换 简单栈
- 数据结构实验之栈一:进制转换(栈)
- 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换
- SDUT 2131 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换 SDUT 2131
- 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换
- M
- day04
- VBA 中的UBound
- 八大排序算法之-冒泡排序 java代码
- Tempter of the Bone(树的直径)
- 数据结构栈之进制转换
- 浏览器兼容
- JavaScript-正则表达式
- poj2100 -- Graveyard Design(区尺法)
- wireshark过滤规则表达式
- hdu 2097 Sky数
- B
- 【poj2377】Bad Cowtractors 【USACO 2004 December Silver】
- HBase查询优化——持续更新