stack.c
来自「简单编译器」· C语言 代码 · 共 43 行
C
43 行
int initstack()
{
s.base=(int *)malloc(STACK_INIT_SIZE*sizeof(int));
if(!s.base) exit(OVERFLOW);
s.top = s.base;
s.stacksize=STACK_INIT_SIZE;
return OK;
}
int gettop()
{
if(s.top==s.base) return ERROR;
topvalue=*(s.top-1);
return OK;
}
int push(int tempvalue)
{
if((s.top-s.base)>=s.stacksize)
{
s.base=(int *)realloc(s.base,(s.stacksize+STACKINCREMENT)*sizeof(int));
if(!s.base) exit(OVERFLOW);
s.top=s.base+s.stacksize;
s.stacksize+=STACKINCREMENT;
}
*s.top++ = tempvalue;
return OK;
}
int pop()
{
if(s.top==s.base) return ERROR;
topvalue=*(--s.top);
return OK;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?