STL标准库之《stack原理与实战分析》

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,5000CU*H 3个月
简介: STL标准库之《stack原理与实战分析》

一、stack栈原理

  c++stack(堆栈)是一个容器的改编,它实现了一个先进后出的数据结构(FILO),使用该容器时需要包含#include<stack>头文件;

定义stack对象示例:

stack<int>s1;
stack<string>s2;

stack的基本操作:

     s.empty()               如果栈为空返回true,否则返回false  
     s.size()                返回栈中元素的个数  
     s.pop()                 删除栈顶元素但不返回其值  
     s.top()                 返回栈顶的元素,但不删除该元素  
     s.push()                在栈顶压入新元素  


二、stack栈实战分析

//栈 stack支持 empty() size() top() push() pop()
#include <stack>
#include <vector>
#include <list>
#include <cstdio>
using namespace std;

int main()
{
  //可以使用list或vector作为栈的容器,默认是使用deque的。
  stack<int, list<int>>      a;
  stack<int, vector<int>>   b;
  int i;

  //压入数据
  for (i = 0; i < 10; i++)
  {
    a.push(i);
    b.push(i);
  }

  //栈的大小
  printf("%d %d\n", a.size(), b.size());

  //取栈项数据并将数据弹出栈
  while (!a.empty())
  {
    printf("%d ", a.top());
    a.pop();
  }
  putchar('\n');

  while (!b.empty())
  {
    printf("%d ", b.top());
    b.pop();
  }
  putchar('\n');

  return 0;
}

运行结果如下:

image.png

相关文章
|
7月前
|
算法 C++ 容器
C++ STL:空间配置器源码解析
C++ STL:空间配置器源码解析
|
1月前
|
存储 算法 Linux
【c++】STL简介
本文介绍了C++标准模板库(STL)的基本概念、组成部分及学习方法,强调了STL在提高编程效率和代码复用性方面的重要性。文章详细解析了STL的六大组件:容器、算法、迭代器、仿函数、配接器和空间配置器,并提出了学习STL的三个层次,旨在帮助读者深入理解和掌握STL。
47 0
|
2月前
|
存储 程序员 C++
C++常用基础知识—STL库(2)
C++常用基础知识—STL库(2)
79 5
|
2月前
|
存储 自然语言处理 程序员
C++常用基础知识—STL库(1)
C++常用基础知识—STL库(1)
72 1
|
4月前
|
存储 算法 编译器
|
6月前
|
存储 算法 C语言
STL标准模板库《实战案例汇总》
STL标准模板库《实战案例汇总》
69 1
|
5月前
|
存储 算法 数据处理
【C++】STL简介
**STL是C++标准库的关键部分,源于Alexander Stepanov的泛型编程研究。它提供了数据结构(如vector、list)和算法,是高效、通用的软件框架。STL始于惠普,后由SGI发展,现已成为C++1998标准的一部分并不断进化。它包括容器、迭代器、算法、仿函数、配接器和分配器六大组件,带来高效性、通用性和可扩展性,但也存在性能开销和学习难度。学习STL涉及理解底层数据结构、用法、实现和实践。推荐[cplusplus.com](https://cplusplus.com)作为学习资源。**
|
6月前
|
存储 算法 大数据
STL标准库之《deque原理与实战分析》
STL标准库之《deque原理与实战分析》
54 0
|
6月前
|
大数据 C++ 索引
C++ STL标准库 《vector向量原理与实战分析》
C++ STL标准库 《vector向量原理与实战分析》
60 0
|
7月前
|
算法 安全 Linux
【C++】STL简介(了解)
【C++】STL简介(了解)
下一篇
DataWorks