栈是什么
栈(stack)是一种先进后出的数据结构,如果说队列是大家排队,那么栈就相当于一个很窄的(窄的连两个人并排站都不行)、只有一个出入口的观景台,一个人进去后,只可以等后面进来的人出去以后再出去。
栈只能访问栈顶元素,要访问栈内的元素,需要不停的进行出栈操作直到访问到相应的元素为止。
栈可以用在哪里
栈可以用在深度优先搜索中。
C++的栈
C++中有专门的栈头文件:
#include<stack>
栈的操作:
stack<int> a;//栈的定义
a.top();//访问栈顶
a.push(s);//s入栈
a.pop();//出栈
a.empty()//判断栈是否为空,返回布尔值,1为空,0不为空