*栈顶指针:栈顶指针是始终指向栈的最上方元素的一个标记。
1)当使用数组 实现栈时,栈顶指针是一个int 型的变量,记为TOP,而int型变量TOP表示栈顶元素的下标(数组下标从0开始)。
2)使用链表实现时,栈顶指针是一个int 型的指针。
栈中没有元素时(即栈空)时令TOP为-1。
主要介绍通过使用数组str[]来实现栈
1)清空(clear)
void clear(){
TOP=-1;
}
2)获取栈内元素的个数(size)
int size()
{
return TOP+1;
}
3)判空(empty)
void empty()
{
if(TOP==-1)
{
return true;
}
else
{
return false;
}
}
4)进栈(push)
void push(int x)
{
str[++TOP]=x;
}
5)出栈(pop)
void pop()
{
TOP--;
}
6)取栈顶元素(top)
int top()
{
return str[TOP];
}
注意:使用pop()函数和top()函数之前必须先 使用empty()函数来判断栈是否为空。
c++中的STL库中没有实现栈的清空,如果需要实现栈的清空,可以使用一个while循环反复pop出栈直到栈为空。
while(!str.empty())
{
str.pop();
}