之前讲了链表和队列,这个博客讲一讲他们的“亲戚”——栈。
你有没有见过集装箱码头?
码头的集装箱由于太重,所以只能吊起最上面的一个或往最上面放一个这与开头讲的数据结构——栈十分相似。
栈与队列一样,是一种操作受限的线性表,只能访问尾部,从尾进、从尾出,先进后出。
定义一个栈,和定义队列一样,需要STL库中的数据类型:stack,如下:
#include<bits/stdc++.h>
#include<stack>
using namespace std;
int main()
{
stack<int> s;
return 0;
}
关于栈,有这几个函数:
s.push(n);//在栈s的栈顶压入新成员n
s.top();//访问s的栈顶元素
s.pop()//将s的栈顶元素弹出
s.size()//返回s的元素个数
s.empty()//判空 空返回1 否则返回0
以上就是栈的基本内容。