专栏首页Visual CodexSTL学习笔记(6)常用容器 stack

STL学习笔记(6)常用容器 stack

stack 容器基本概念

stack 是一种先进后出(First In Last Out, FILO)的数据结构,它只有一个出口,形式如图所示。stack 容器允许新增元素, 移除元素,取得栈顶元素,但是除了最顶端外,没有任何其他方法可以存取 stack 的其他元素。换言之,stack 不允许有遍历行为。 有元素推入栈的操作称为:push,将元素推出 stack 的操作称为 pop。

stack 没有迭代器

Stack 所有元素的进出都必须符合”先进后出”的条件,只有 stack 顶端的元素,才有机会被外界取用。Stack 不提供遍历功能,也不提供迭代器。

stack 常用操作

1. stack 构造函数
stack<T> stkT;//stack 采用模板类实现, stack 对象的默认构造形式: 
stack(const stack &stk);//拷贝构造函数 
2. stack 赋值操作
stack& operator=(const stack &stk);//重载等号操作符 
3. stack 数据存取操作
push(elem);//向栈顶添加元素
pop();//从栈顶移除第一个元素 
top();//返回栈顶元素 
4. stack 大小操作
empty();//判断堆栈是否为空 
size();//返回堆栈的大小

参考《千锋教育》

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • STL学习笔记(5)常用容器 deque

    Vector 容器是单向开口的连续内存空间,deque 则是一种双向开口的连续线性空间。所谓的双向开口,意思是可以在头尾两端分别做元素的插入和删除操作,当然,v...

    轻舞飞扬SR
  • STL学习笔记(10)常用容器 pair

    对组(pair)将一对值组合成一个值,这一对值可以具有不同的数据类型,两个值可以分别用 pair 的两个公有属性 first 和 second 访问。

    轻舞飞扬SR
  • STL学习笔记(9)常用容器 set/multiset

    Set 的特性是:所有元素都会根据元素的键值自动被排序。Set 的元素不像 map 那样可以同时拥有实值和键值,set 的元素即是键值又是实值。Set 不允许两...

    轻舞飞扬SR
  • STL学习笔记(8)常用容器 list

    链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以...

    轻舞飞扬SR
  • STL学习笔记(7)常用容器 queue

    Queue 是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口,queue 容器允许从一端新增元素,从另 一端移除元素。 ...

    轻舞飞扬SR
  • STL学习笔记(11)常用容器 map/multimap

    Map 的特性是,所有元素都会根据元素的键值自动排序。Map 所有的元素都是 pair,同时拥有实值和键值,pair 的 第一元素被视为键值,第二元素被视为实值...

    轻舞飞扬SR
  • STL学习笔记(4)常用容器 vector

    vector 的数据安排以及操作方式,与 array 非常相似,两者的唯一差别在于空间的运用的灵活性。Array 是静态空间, 一旦配置了就不能改变,要换大一点...

    轻舞飞扬SR
  • STL学习笔记(3)常用容器 string

    C风格字符串(以空字符结尾的字符数组)太过复杂难于掌握,不适合大程序的开发,所以C++标准库定义了一种string 类,定义在头文件。

    轻舞飞扬SR
  • C++中STL学习笔记——容器之vector

    C++中的容器大致分为两类:顺序容器和关联容器。以后会逐一讲解。本文主要讲解顺序容器中的vector。

    啤酒单恋小龙虾

扫码关注云+社区

领取腾讯云代金券