黑马c++ STL部分 笔记(5) stack容器

简介: 黑马c++ STL部分 笔记(5) stack容器

stack是一种先进后出的数据结构,它只有一个出口。

0556ec424595407eb148c9487d12b224.jpg

栈中只有栈顶的元素才可以被外界使用,因此栈不允许有遍历行为。

栈可以判断容器是否为空。

栈可以返回元素个数。

栈中进入数据——入栈push。

栈中弹出数据——出栈pop。

stack常用接口

// stack常用接口
/*
构造函数:
stack<T> stk; //stack采用模板类实现, stack对象的默认构造形式
stack(const stack &stk); //拷贝构造函数
赋值操作:
stack& operator=(const stack &stk); //重载等号操作符
数据存取:
push(elem); //向栈顶添加元素
pop(); //从栈顶移除第一个元素
top(); //返回栈顶元素
大小操作:
empty(); //判断堆栈是否为空
size(); //返回栈的大小
*/
#include <bits/stdc++.h>
using namespace std;
void test01()
{
  // 先进后出
  stack<int> s;
  s.push(10);
  s.push(20);
  s.push(30);
  s.push(40);
  // 只要栈不为空,就查看栈顶,并执行出栈
  cout << "栈大小 " << s.size() << endl; // 4
  while (!s.empty())
  {
    cout << s.top() << " "; // 40 30 20 10
    s.pop();
  }
  cout << endl
       << "栈大小 " << s.size(); // 0
}
int main()
{
  test01();
}
/*
总结:
入栈 — push
出栈 — pop
返回栈顶 — top
判断栈是否为空 — empty
返回栈大小 — size
*/


相关文章
|
1月前
|
存储 算法 C++
C++ STL 初探:打开标准模板库的大门
C++ STL 初探:打开标准模板库的大门
89 10
|
18天前
|
存储 程序员 C++
C++常用基础知识—STL库(2)
C++常用基础知识—STL库(2)
60 5
|
17天前
|
存储 算法 调度
【C++打怪之路Lv11】-- stack、queue和优先级队列
【C++打怪之路Lv11】-- stack、queue和优先级队列
24 1
|
18天前
|
存储 自然语言处理 程序员
C++常用基础知识—STL库(1)
C++常用基础知识—STL库(1)
44 1
|
22天前
|
设计模式 存储 C++
C++之stack 和 queue(下)
C++之stack 和 queue(下)
28 1
|
27天前
|
算法 安全 Linux
【C++STL简介】——我与C++的不解之缘(八)
【C++STL简介】——我与C++的不解之缘(八)
|
21天前
|
算法 数据处理 C++
c++ STL划分算法;partition()、partition_copy()、stable_partition()、partition_point()详解
这些算法是C++ STL中处理和组织数据的强大工具,能够高效地实现复杂的数据处理逻辑。理解它们的差异和应用场景,将有助于编写更加高效和清晰的C++代码。
16 0
|
22天前
|
C++ 容器
C++之stack 和 queue(上)
C++之stack 和 queue(上)
50 0
|
29天前
|
存储 C++ 容器
C++番外篇——stack、queue的实现及deque的介绍
C++番外篇——stack、queue的实现及deque的介绍
22 0
|
29天前
|
存储 算法 C++
C++入门10——stack与queue的使用
C++入门10——stack与queue的使用
37 0