数据结构实验之栈一:进制转换
来源:互联网 发布:mac safari 编辑:程序博客网 时间:2024/06/06 05:53
数据结构实验之栈一:进制转换
Time Limit: 1000MS Memory limit: 65536K
题目描述
输入
第二行输入R。
输出
示例输入
12798
示例输出
2377
#include <stdio.h>
#include <stdlib.h>
#define stackmax 10000 //存储空间初始分配量
#define stacknum 10000 //存储空间分配增量
typedef int ElemType;
typedef struct
{
ElemType *base; //栈底指针
ElemType *top; //栈顶指针
int stacksize;
} SqStack;
int InitStack(SqStack &S) // 构造一个空栈S
{
S.base = (ElemType*) malloc (stackmax*sizeof(ElemType));
if (! S.base)
exit(0); //存储分配失败
S.top = S.base;//空栈条件
S.stacksize = stackmax; //栈的存储空间初始分配量
return 0;
}
int Push(SqStack &S , int e)// 插入元素e为新的栈顶元素(创建一个栈)
{
if(S.top-S.base >= S.stacksize)// 当前存储空间已满,增加分配
{
{
S.base = (ElemType *)realloc(S.base,(S.stacksize+stacknum)*sizeof(ElemType));
if (! S.base ) exit(0); // 存储分配失败
S.top = S.base + S.stacksize;
S.stacksize += stacknum; //增加存储容量
}
}*S.top++=e;
return 0;
}
void conversion(SqStack &S, int n, int m)//进制转换
{
int t;
while (n)
{
t = n%m;
n = n/m;
Push(S, t);
}
}
void putstack(SqStack &S)//出栈
{
while(S.top>S.base)
{
printf("%d", *(S.top-1));
S.top--;
}
}
int main()
{
int n, m;
scanf("%d %d", &n, &m);
SqStack S;
InitStack(S);
conversion(S, n, m);
putstack(S);
return 0;
}
- 数据结构实验之栈一:进制转换 简单栈
- 数据结构实验之栈一:进制转换(栈)
- 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换
- SDUT 2131 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换 SDUT 2131
- 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换
- 这是关于RadioButton一个坑爹的问题,请让我自杀好吗!
- 机器学习面试问题3
- 为什么你在虚度年华
- is和as操作符
- STM8L15x系列单片机独立看门狗配置
- 数据结构实验之栈一:进制转换
- UITableView-编辑模式(多选移动删除)
- 韩购物网站服务器遭黑客攻击 千万用户信息被泄
- 生产者消费者模型——blocking queue和CountDownLaunch
- HDU 1312:Red and Black
- HTTP状态码详解
- Android — 个人简洁记账本项目开发日志
- 黑白棋游戏
- Ajax 请求 asp.net mvc 的View