⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stack.h

📁 字符串形式的表达式求值算法
💻 H
字号:
// file: stack.h
#include "com_def.h"

#define STACK_INIT_SIZE  100
#define STACKINCREMENT   10

// 定义栈数据类型
/*
typedef struct 
{
    int date;
}ElemType;
*/

typedef enum _STACK_Status
{
    STACK_OK = 0,
    STACK_ERR
}STACK_Status;

typedef struct
{
    byte *base;
    byte *top;
    int   stacksize;
    uint8 elemsize;
}SqStack;

// 构造一个空栈
bool InitStack(SqStack *S, uint8 elemsize);

// 销毁栈
void DestroyStack(SqStack *S);

// 把S置为空栈
void ClearStack(SqStack *S);

// 判断栈是否为空
bool StackEmpty(SqStack *S);

// 返回栈的长度
int StackLength(SqStack *S);

// 若栈不空,用e返回S的栈顶元素
bool GetTop(SqStack *S, void *e);

// 将e压至栈顶
bool Push(SqStack *S, void *e);

// 删除栈顶元素,并以e返回
bool Pop(SqStack *S, void *e);

// 从栈顶到栈底(也可以栈底到栈顶)每个元素调用函数visit
bool StackTraverse(SqStack *S, bool (*visit)(void *e) , bool direction);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -