
c++里的stack就是栈。实现的也就是后进先出的功能
这函数就是stack的基本功能,这里只介绍最基本的几个功能
empty:检验栈是否为空,无参数返回,布尔值。
size:返回栈内元素的个数,无参数,返回size_t。
top:取栈顶的元素返回该元素,无参数。
pop:删除栈顶元素,无参数,无返回值。
push:往栈顶添加元素,参数为要入栈的值,无返回值
二.底层逻辑先从模板参数开始说起
template> class stack; 首先我们需要提供一个空间适配器来作为底层容器。这个适配器至少需要有尾插,尾删,判空求大小等功能。一般使用vector,list等都可以,如果我们不提供的话,默认使用的是dequeue,dequeue本身世一个比较万能的模板,包含了vector和list两者的基本功能。
剩下所有的功能,其实都是直接调用内部封装的适配器的函数即可
void push(const T& x)
{
_con.push_back(x);
}void pop()
{
_con.pop_back();
}T& top()
{
return _con.back();
}const T& top() const
{
return _con.back();
}bool empty() const
{
return _con.empty();
}size_t size() const
{
return _con.size();
}
这样一看,其实stack本质上就是把内部的适配器重新封装了一层调用对应的借口罢了
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)