算法:堆栈(转换八进制)
来源:互联网 发布:java se8.0 编辑:程序博客网 时间:2024/06/06 18:22
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#include <math.h>
#define initstack 100
#define Error 0
#define OK 1
#define FALSE-1
typedef int Status;
typedef int SElemType;
typedef struct {
SElemType *base;
SElemType *top;
int stacksize;
}Sqstack;
Status InitStack(Sqstack &S){
S.base = (SElemType *)malloc(initstack *sizeof(SElemType));
if(!S.base) return Error;
S.top=S.base;
S.stacksize=initstack;
return OK;
}
Status Pop(Sqstack &S,SElemType &e){
if(S.base == S.top)
return Error;
e = *(--S.top);
return OK;
}
Status Push(Sqstack &S,SElemType e){
*S.top++ = e;
return OK;
}
Status StackEmpty(Sqstack &S){
if(S.top == S.base){
return OK;
}
return Error;
}
int main(int argc, char** argv) {
SElemType e=0;
Sqstack S;
InitStack(S);
SElemType N;
scanf("%d",&N);
while(N){
Push(S,N%8);
N/=8;
}
while(!StackEmpty(S)){
Pop(S,e);
printf("%d",e);
}
return 0;
}
#include <malloc.h>
#include <stdlib.h>
#include <math.h>
#define initstack 100
#define Error 0
#define OK 1
#define FALSE-1
typedef int Status;
typedef int SElemType;
typedef struct {
SElemType *base;
SElemType *top;
int stacksize;
}Sqstack;
Status InitStack(Sqstack &S){
S.base = (SElemType *)malloc(initstack *sizeof(SElemType));
if(!S.base) return Error;
S.top=S.base;
S.stacksize=initstack;
return OK;
}
Status Pop(Sqstack &S,SElemType &e){
if(S.base == S.top)
return Error;
e = *(--S.top);
return OK;
}
Status Push(Sqstack &S,SElemType e){
*S.top++ = e;
return OK;
}
Status StackEmpty(Sqstack &S){
if(S.top == S.base){
return OK;
}
return Error;
}
int main(int argc, char** argv) {
SElemType e=0;
Sqstack S;
InitStack(S);
SElemType N;
scanf("%d",&N);
while(N){
Push(S,N%8);
N/=8;
}
while(!StackEmpty(S)){
Pop(S,e);
printf("%d",e);
}
return 0;
}
阅读全文
0 0
- 算法:堆栈(转换八进制)
- 堆栈--十进制转换成二进制、八进制、十六进制
- 算法:十进制转换为十六进制,二进制,八进制
- 二进制,八进制,十进制,十六进制转换算法
- 二进制,八进制,十进制,十六进制转换算法
- 八进制转换
- 八进制转换
- 八进制转换
- 考研数据结构与算法之堆栈的使用(二)利用堆栈实现进制转换
- 数制转换(十进制、二进制、八进制、十六进制)
- 二进制数转换为八进制, 十六进制数的算法
- 二进制,八进制,十六进制数转换为十进制数的算法
- 十进制数转换为二进制,八进制,十六进制数的算法
- 十进制数转换为二进制,八进制,十六进制数的算法
- 算法:带小数的十进制转换为八进制
- 十进制数转换为二进制,八进制,十六进制数的算法
- 二进制八进制,十六进制转换
- 十进制转换八进制转换器
- mysql缓冲和缓存设置详解
- POJ1159求LCS长度 滚动数组优化空间
- SSM-CRUD项目简介
- 出口托收结算方式DA、DP、CAD详解
- 汉诺塔 递归算法
- 算法:堆栈(转换八进制)
- centos7.2 percona-toolkit进行mysql主从数据一致性校验+修复
- WEEK 7 C
- Python Machine Learning Case Studies.pdf 英文原版 免费下载
- Tomcat端口被占用
- MD5算法
- cas server改造
- Python 封装DTU-215码流卡 第一天
- Unity3D-血量条制作