栈的定义
栈(Stack)是只允许一端进行插入或删除操作的线性表
重要术语
栈顶、栈底、空栈
栈的逻辑结构与普通线性表相同
但是栈对数据的运算和普通线性表有区别,例如插入、删除等操作...
栈的基本操作
创、销
InitStack(&S):初始化栈。构造一个空栈S,分配内存空间。
DestroyStack(&S):销毁栈。销毁并释放栈S所占用的内存空间。/
增、删(删除栈顶元素)
Push(&S,x):进栈,若栈S未满,则将x加入使之成为新栈项。
Pop(&S,&x):出栈,若栈S非空,则弹出栈顶元素,并用x返回。
查:栈的使用场景大多只访问栈顶元素(不删除栈顶元素)
GetTop(S,&x):读栈顶元素,若栈S非空,则用x返回栈顶元素。
其他常用操作
StackEmpty(S):判断一个栈S是否为空。若S为空,则返回true,否则返回false