📄 stack.h
字号:
#define FALSE 0
#define ERROR 0
#define OK 1
#define TRUE 1
#define STACK_INIT_SIZE 30
#define STACK_ADD 5
typedef int Status;
typedef struct
{
char *top;
char *base;
int ssize;
} Stack;
void msg(char *c){
printf("%s\n",c);
}
Stack *InitS(Stack *s){
s->base=(char *)malloc(STACK_INIT_SIZE*sizeof(char));
if(!s->base) msg("init error");
s->top=s->base;
s->ssize=STACK_INIT_SIZE;
return s;
}
void DestS( Stack *s){
s->base=NULL;
s->top=s->base;
}
void Push( Stack *s,char c)
{
if (s->top-s->base >= s->ssize) {
s->base = (char *)realloc(s->base ,(s->ssize +STACK_ADD)*sizeof(char));
if(!s->base ) msg("m error ");
s->top = s->base + s->ssize ;
s->ssize += STACK_ADD;
}
*(s->top) = c;
s->top++;
}
Stack *Pop( Stack *s){
if (s->top ==s->base ) msg("pop stack error");
s->top--;
return s;
}
char Gettop( Stack *s){
return *(s->top -1);
}
Status Sempty( Stack *s){
if (s->top ==s->base || s->top==NULL)
return TRUE;
else
return FALSE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -