堆栈的定义
简称为栈,是限定只能在表的一端进行插入和删除操作的线性表。在表中,允许插入和删除的一端称作“栈顶”另一端称为“栈底”。通常将元素插入栈顶的操作称为“入栈”(或压栈),称删除栈顶元素的操作称作为“出栈”。堆栈好比,往一个箱子里装书,先放进来的书被后进的书压在下面,反而后面的书在使用中最先被拿走。如下图所示
栈的基本运算如下
(1) StackInit() 初始化堆栈。
(2) StackEmpty(s) 判定栈s是否为空。
(3) StackLeng(s) 求栈堆s的长度。
(4) GetTops(s) 获取栈顶元素的值。
(5) Pop(s) 出栈(删除栈顶元素)。
栈的存储结构分为:顺序栈,链栈。我们判断栈满还是栈空的条件是?栈满:top = Msxsize-1
栈空:top – 1
。top为指针,指向某一个元素的下方。当栈中没有元素的时候,指针位于栈底下,如进行入栈的操作,我们先对其进行判断,这个栈是不是满了的,打印“堆栈已满”。否则进行,top指针上移加1,填入元素。下图为入栈的展示