1.定义 : 栈(stack)是一种后进先出(LIFO)的数据结构,是只允许在一端进行操作或删除操作的线性表。
栈顶(Top):线性表允许进行插入和删除的那一端。
栈底(Bottom):固定的,不允许进行插入和删除的另一端。
空栈:不含任何元素的空表。
顺序栈:栈的顺序存储成为顺序栈,它是利用一组连续的存储单元存放自栈底到栈顶的数据元素,同时附设一个指针指示当前栈顶的位置。
链栈:采用链式存储的栈成为链栈,链栈的优点是便于多个共享存储空间和提高效率,且不存在栈满上溢的情况。
顺序栈的基本运算如下所示:
1.清空(clear)
void clear()
{
Top = -1;
}
2.获取栈内元素个数(size)
int size(){
return Top + 1;
}
3 判空(empty)
bool empty(){
if(Top == -1) return ture;
else return false;
}
4 进栈(push)
void push(int x){
st[++Top] = x;