数据结构实验二
#include <stdio.h>
#include <stdlib.h>
#include <stdlib.h>
int STACK_INIT_SIZE=100;
int STACKINCREMENT=10;
typedef struct{
int *base;
int *top;
int stacksize;
}sqstack;
int STACKINCREMENT=10;
typedef struct{
int *base;
int *top;
int stacksize;
}sqstack;
void initstack(sqstack &S){
S.base=(int * )malloc(STACK_INIT_SIZE*sizeof(int));
if(!S.base)exit(1);
S.top=S.base;
S.stacksize=STACK_INIT_SIZE;
}
S.base=(int * )malloc(STACK_INIT_SIZE*sizeof(int));
if(!S.base)exit(1);
S.top=S.base;
S.stacksize=STACK_INIT_SIZE;
}
int judge(sqstack S){
if(S.top==S.base)
return 0;
else
return 1;
}
if(S.top==S.base)
return 0;
else
return 1;
}
void push(sqstack &S,int e){
if(S.top-S.base>=S.stacksize){
S.base=(int*)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(int));
if(!S.base)exit(1);
S.top=S.base+S.stacksize;
S.stacksize+=STACKINCREMENT;
}
*S.top++=e;
}
if(S.top-S.base>=S.stacksize){
S.base=(int*)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(int));
if(!S.base)exit(1);
S.top=S.base+S.stacksize;
S.stacksize+=STACKINCREMENT;
}
*S.top++=e;
}
void pop(sqstack &S,int &e){
if(S.top==S.base)
printf("error");
e=*--S.top;
}
if(S.top==S.base)
printf("error");
e=*--S.top;
}
void main(){
printf("数据结构实验二数制转换\n");
sqstack s;
int n;
initstack(s);
printf("输入一个十进制数\n");
scanf("%d",&n);
while(n){
push(s,n%8);
n/=8;
}
while(judge(s)){
pop(s,n);
printf("%d",n);
}
}
printf("数据结构实验二数制转换\n");
sqstack s;
int n;
initstack(s);
printf("输入一个十进制数\n");
scanf("%d",&n);
while(n){
push(s,n%8);
n/=8;
}
while(judge(s)){
pop(s,n);
printf("%d",n);
}
}
相关推荐
koushr 2020-11-12
zhangxiafll 2020-11-13
kikaylee 2020-10-31
范范 2020-10-28
MILemon 2020-10-22
hugebawu 2020-10-12
LauraRan 2020-09-28
shenwenjie 2020-09-24
omyrobin 2020-09-23
guangcheng 2020-09-22
qiangde 2020-09-13
hanyujianke 2020-08-18
晨曦之星 2020-08-14
xiesheng 2020-08-06
KAIrving 2020-08-02
xiesheng 2020-08-02
范范 2020-07-30
chenfei0 2020-07-30