数据结构学习-Unit3栈与队列-栈
栈是一种重要的线性结构,具有后进先出的特性。元素只能从栈顶端压入,也只能从栈顶端弹出。
我们先来看栈的结构:
typedef struct stac
{
int *top;
int *bottom;
int stacksize;
}Stack;
top即栈顶,位置比最上方元素位置高一位。
bottom即栈底,位置指向最下方元素。
当栈为空时,有top==bottom
栈有以下几种常用操作:
void InitStack(Stack &S);//栈的初始化
void DestroyStack(Stack &S);//摧毁栈
void ClearStack(Stack &S);//清空栈
int StackEmpty(Stack S);//判断栈是否为空
int StackLength(Stack S);//求栈的长度
void GetTop(Stack S,int &e);//取得栈顶元素
void Push(Stack &S,int e