数据结构利用顺序栈进行进制转换,可以实现以下功能
(没有单独界面,只用控制台做了简单的菜单
入栈
int PUSH(seqstack*s,datatype x)
{
if(s->top==MAX){
printf("overflow!");
return 0;
}
s->data[s->top]=x;
s->top++;
return 1;
}
出栈
int POP(seqstack*s)
{
datatype x;
if((s->top)==0){
printf("Stack is empty!\n");
return 0;
}
(s->top)--;
x=s->data[s->top];
return (x);
}
举一些简单的例子,比如十转二
int my10_2(int x)
{
seqstack *SS;
int y;
SS=(seqstack *)malloc(sizeof(seqstack));
SS->top=0;
while(x){
PUSH(SS,x%2);
x/=2;
}
while((S