博客
关于我
二进制转换为十进制|栈和队列
阅读量:326 次
发布时间: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/

你可能感兴趣的文章
OAUTH开放授权
查看>>
async/await剖析
查看>>
常见的兼容性问题
查看>>
cmp命令
查看>>
有效的括号字符串
查看>>
一次编辑
查看>>
od命令
查看>>
电话号码的字母组合
查看>>
简单工厂模式
查看>>
代理模式
查看>>
read命令
查看>>
Js中Currying的应用
查看>>
长按键入
查看>>