📄 stack.cpp
字号:
#include "stack.h"
#include <malloc.h>
#include <stdlib.h>
//栈基本操作的实现
//////////////////////////////////
int InitStack(Sqstack &s)
{
s.base=(int *)malloc(Stack_init_size*sizeof(int));
if(!s.base) exit (-2);
s.top=s.base;
s.stacksize =Stack_init_size;
return 1;
}
//////////////////////////////////
int DestroyStack(Sqstack &s)
{
if(!s.base) return 0;
free(s.base);
s.base=s.top=0;
s.stacksize =0;
return 1;
}
//////////////////////////////////
int StackEmpty(Sqstack s)
{
if(s.base&&s.base ==s.top ) return 1;
else return 0;
}
/////////////////////////////////
int GetTop(Sqstack s,int &e)
{
if(s.top==s.base ) return 0;
e=*(s.top-1);
return 1;
}
////////////////////////////////
int Push(Sqstack &s,int e)
{
if(s.top -s.base >=s.stacksize ){
s.base =(int *)realloc(s.base ,(s.stacksize +StackIncreament)
*sizeof(int));
if(!s.base ) exit (-2);
s.top=s.base+s.stacksize ;
s.stacksize +=StackIncreament;
}
*s.top++=e;
return 1;
}
////////////////////////////////
int Pop(Sqstack &s,int &e)
{
if(s.base ==s.top ) return 0;
e=*--s.top ;
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -