📄 sqstack.h
字号:
/*
Name: Stack.h
Copyright: math@jnu
Author: arcst1715@gmail.com
Date: 05-10-08 21:36
Description: Stack header file
*/
#include "status.h"
#define STACK_INIT_SIZE 100 //存储空间初始分配量
#define STACKINCREMENT 10 //存储空间分配增量
#ifdef APPLICATION
#define SElemType int
#else
#define SElemType char
#endif
typedef struct {
SElemType* base; //在栈构造之前和销毁后,该指针为NULL
SElemType* top; //栈顶指针
int stacksize; //当前已经分配的存储空间,以元素为单位
}SqStack;
//Operations
Status InitStack(SqStack &S);
Status DestroyStack(SqStack &S);
Status ClearStack(SqStack &S);
Status IsStackEmpty(SqStack S);
int StackLength(SqStack S);
Status GetTop(SqStack S, SElemType &e);
Status Push(SqStack &S,SElemType e);
Status Pop(SqStack &S, SElemType &e);
Status StackTraverse(SqStack &s, Status(*visit)());
//Applications
void conversion(int Num, int d); //数制转换,Num待转换的数,d转换的进制
bool brackMatch(char* str); //括号匹配,str待检验的字符串
void LineEdit(); //行编辑程序
SElemType EvaExpression(char *str); //表达式求值
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -