📄 sqstack.h
字号:
#include <iostream.h>
const STACK_INIT_SIZE=100;
const STACKINCREMENT=10;
//typedef int SElemType;
typedef char SElemType;
typedef struct
{SElemType *elem;
int top;
int stacksize;
int increment;
}SqStack;
//1.初始化栈
void InitStack(SqStack &S , int maxsize=STACK_INIT_SIZE,int incresize=STACKINCREMENT)
{ S.elem=new SElemType[STACK_INIT_SIZE];
S.top=-1;
S.stacksize=maxsize;
S. increment=incresize; }
//2.得到栈顶元素
bool GetTop(SqStack S, SElemType &e)
{if(S.top==-1) return false;
e=S.elem[S.top]; return true; }
//3。让栈顶元素出栈
bool Pop(SqStack &S,SElemType &e) {
if(S.top==-1) return false;
e=S.elem[S.top]; S.top--; return true; }
//4。入栈一个元素
void Push(SqStack &S, SElemType e)
{ if(S.top==S.stacksize-1)
{S.stacksize=S.stacksize+STACKINCREMENT;
SElemType* elem=new SElemType[S.stacksize ];
for(int i=0;i<S.top;i++) elem[i]=S.elem[i];
delete[ ] S.elem; S.elem=elem; }
S.top++; S.elem[S.top]=e;
}
//5.输出栈中的元素
void StackTraverse(SqStack S)
{for(int i=0;i<=S.top;i++) cout<<S.elem[i]<<" ";
cout<<endl;}
//6.栈中元素的个数
int StackLength(SqStack S) { return(S.top+1);}
//7判栈空
bool StackEmpty(SqStack S)
{ if(S.top==-1) return true; else return false; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -