stack.h
来自「完全由C语言实现的图的相关操作」· C头文件 代码 · 共 44 行
H
44 行
#ifndef STACK_H
#define STACK_H
#define STACK_INIT_SIZE 200 //存储空间初始分配量
#define STACKINCRAMENT 10 //存储空间分配增量
#define SElemType int
/**---栈的顺序存储表示----*/
typedef struct stack
{
SElemType* base; //栈底指针
SElemType* top ; //栈顶指针,也就是下一元素将要存储的位置指针
int stacksize ; //栈当前可以使用的最大容量
}stack ;
/**-------基本操作的函数原型说明--------**/
Status InitStack(stack* s);
//构造一个空栈
Status DestroyStack(stack* s);
//销毁栈s,s不再存在
Status ClearStack(stack* s);
//把栈s清空
int StackEmpty(stack* s);
//若栈s为空,则返回true, 否则返回false
int StackLength(stack* s);
//返回s的元素的个数,即栈的长度
Status GetTop(stack* s,SElemType* e);
// 若栈不空,则用e返回s的栈顶元素,操作成功返回0 ,失败返回-1
Status Push(stack* s,SElemType e);
//插入元素e为新栈顶的元素
Status Pop(stack* s,SElemType* e);
//若栈不空,则删除s的栈顶元素,用e返回其值
//操作成功返回0 ,失败返回-1
Status StackTraverse(stack* s);
//从栈顶依次对栈中的每一个元素进行遍历
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?