当前位置:首页 > 教育 > 正文

8 STL-stack

重新系统学习c++语言,并将学习过程中的知识在这里抄录、总结、沉淀。同时希望对刷到的朋友有所帮助,一起加油哦!

生命就像一朵花,要拼尽全力绽放!死磕自个儿,身心愉悦!

写在前面,本篇章主要介绍STL中常用容器stack。

1.1 stack的基本概念

概念:

栈容器。

stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口。

可以这样理解:

栈容器:可以想象成一只放砖块的小桶。

数据:是砖块,先放入的只能后拿出。即先进后出

先放入的砖块放到桶底(栈底),后放入的砖块在桶顶(栈顶)

8 STL-stack

编辑

stack特性:

  • 栈容器符合 先进后出
  • 栈中只有栈顶元素才能被外界访问到,因此不允许遍历
  • 栈可以判断容器是否为空,empty();
  • 栈可以返回元素个数,size();
  • 栈中进入数据称为 入栈
  • 栈中拿出数据称为 出栈
1.2 常用接口

构造函数:

  • stack stk; //stack采用模板类实现,stack对象的默认构造形式
  • stack(const stack& stk); //拷贝构造函数

赋值操作:

  • stack& operator=(const stack& stk); //重载等号操作符

数据存取:

  • push(elem); //向栈顶添加元素
  • pop(); //从栈顶移除第一个元素
  • top(); //返回栈顶元素

大小操作:

  • empty(); //判断堆栈是否为空
  • size(); //返回栈的大小

示例:


#include
#include
#include using namespace std; // 栈常用接口
void test() {
//stack stk; //stack采用模板类实现, stack对象的默认构造形式
stack s1;
s1.push(1);
s1.push(2);
s1.push(3); //stack(const stack& stk); //拷贝构造函数
stack s2(s1); //赋值操作:
//stack& operator=(const stack& stk); //重载等号操作符
stack s3;
s3 = s1; //数据存取:
//push(elem); //向栈顶添加元素
//pop(); //从栈顶移除第一个元素
//top(); //返回栈顶元素
//大小操作:
//empty(); //判断堆栈是否为空
//size(); //返回栈的大小
while (!s1.empty()) {
cout << "s1 的栈顶元素为:" << s1.top() << endl;
s1.pop();
}
cout << "s1 的size为" << s1.size() << endl;
} int main() {
test(); system("pause");
return 0;
}

总结

以上是真正的电脑专家为你收集整理的8 STL-stack的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得真正的电脑专家网站内容还不错,欢迎将真正的电脑专家推荐给好友。

你可能想看:

有话要说...

取消
扫码支持 支付码