博客
关于我
二进制转换为十进制|栈和队列
阅读量:327 次
发布时间:2019-03-04

本文共 1012 字,大约阅读时间需要 3 分钟。

#include 
#include
#include
#define STACK_INIT_SIZE 20#define STACKINCERMENT 10typedef char ElemTypetypedef struct { ElemType *top; ElemType *base; int stackSize;}sqstack;void InitStack(sqStack *s){ s->base = (ElemType*)malloc(STACK_INIT_SIZE*sizeof(ElemType)); if(!s->base) { exit(0); } s->top = s->base; s->stackSize = STACK_INIT_SIZE;}void Push(sqStack *s,ElemType e){ if(s->top - s->base >= s->stackSize) { s->base = (ElemType*)realloc(s->base,s->stackSzie+STACKINCERMENT); if(!s->base) { exit(0); } s->top = s->base + s->stackSize; stackSize += STACKINCERMENT; } *(s->top) = e; s->top++;}void Pop(sqStack *s,ElemType e){ if(s->top == s->base) { return; } *e = *--(s->top);}int StackLen(sqStack s){ return s.top - s.base;}int main(){ ElemType c; sqStack s; int len, i, sum=0; InitStack(&s); printf("请输入二进制数,以#符号结束!\n"); scanf("%c",&c); while(c!='#') { Push(&s,c); scanf("%c",&c); } getchar(); //把'\n'从缓冲区去掉 len = StackLen(s); for(i=0;i

转载地址:http://fosh.baihongyu.com/

你可能感兴趣的文章
glob模块
查看>>
6 个 Linux 运维典型问题
查看>>
Failed to get D-Bus connection: Operation not permitted解决
查看>>
oracle无法启动asm实例记录
查看>>
取消vim打开文件全是黄色方法
查看>>
YAML基础教程
查看>>
一个系统部署多个tomcat实例
查看>>
HP服务器设置iLO
查看>>
Redhat 平台下LVM管理说明
查看>>
oracle数据库迁移
查看>>
从头实现一个WPF条形图
查看>>
.NET CORE(C#) WPF 重新设计Instagram
查看>>
.NET CORE(C#) WPF 方便的实现用户控件切换(祝大家新年快乐)
查看>>
C# WPF开源控件库:MahApps.Metro
查看>>
使用QT实现一个简单的登陆对话框(纯代码实现C++)
查看>>
QT :warning LNK4042: 对象被多次指定;已忽略多余的指定
查看>>
GLFW 源码 下载-编译-使用/GLAD配置
查看>>
针对单个网站的渗透思路
查看>>
Typescript 学习笔记六:接口
查看>>
关于JTAG,你知道的和不知道的都在这里
查看>>