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 + -
显示快捷键?