2019独角兽企业重金招聘Python工程师标准>>>

  1. deque  double-end  queue

    #include <deque>   //高效的插入和删除链表头,尾的元素

(1)    构造函数
deque():创建一个空deque
deque(int nSize):创建一个deque,元素个数为nSize
deque(int nSize,const T& t):创建一个deque,元素个数为nSize,且值均为t
deque(const deque &):复制构造函数
(2)    增加函数
void push_front(const T& x):双端队列头部增加一个元素X
void push_back(const T& x):双端队列尾部增加一个元素x
iterator insert(iterator it,const T& x):双端队列中某一元素前增加一个元素x
void insert(iterator it,int n,const T& x):双端队列中某一元素前增加n个相同的元素x
void insert(iterator it,const_iterator first,const_iteratorlast):双端队列中某一元素前插入另一个相同类型向量的[forst,last)间的数据
(3)    删除函数
Iterator erase(iterator it):删除双端队列中的某一个元素
Iterator erase(iterator first,iterator last):删除双端队列中[first,last)中的元素
void pop_front():删除双端队列中最前一个元素
void pop_back():删除双端队列中最后一个元素
void clear():清空双端队列中最后一个元素
(4)    遍历函数
reference at(int pos):返回pos位置元素的引用
reference front():返回手元素的引用
reference back():返回尾元素的引用
iterator begin():返回向量头指针,指向第一个元素
iterator end():返回指向向量中最后一个元素下一个元素的指针(不包含在向量中)
reverse_iterator rbegin():反向迭代器,指向最后一个元素
reverse_iterator rend():反向迭代器,指向第一个元素的前一个元素
(5)    判断函数
bool empty() const:向量是否为空,若true,则向量中无元素
(6)    大小函数
Int size() const:返回向量中元素的个数
int max_size() const:返回最大可允许的双端对了元素数量值
(7)    其他函数
void swap(deque&):交换两个同类型向量的数据
void assign(int n,const T& x):向量中第n个元素的值设置为x

2. include <queue>

priority_queue

优先队列容器也是一种从一端入队,另一端出对的队列。不同于一般队列的是,队列中最大的元素总是位于队首位置,因此,元素的出对并非按照先进先出的要求,将最先入队的元素出对,而是将当前队列中的最大元素出对。 C++ STL 优先队列的泛化,底层默认采用 vector 向量容器,使得队列容器的元素可做数组操作,从而应用堆算法找出当前队列最大元素,并将它调整到队首位置,确保最大元素出队。堆算法(heap algorithm) 具有 nLog(n) 阶的算法时间复杂度,此外,优先队列也可看作容器适配器,将底层的序列容器 vector 转换为优先队列priority_queue.

同样是因为仅需取队首和队尾元素的操作,因此 priority_queue 优先队列容器也不提供迭代器,对其他任意位置处的元素进行直接访问操作。使用时,一般用 priority_queue<T> 的形式进行具现, T 是优先队列元素的一个具现类型。

pop()   |   top()
push()
size()  | empty()  //主要的函数

转载于:https://my.oschina.net/badboy2/blog/488533

STL的基本函数笔记相关推荐

  1. 《Effective STL》学习笔记(第一部分)

    本书从STL应用出发,介绍了在项目中应该怎样正确高效的使用STL.本书共有7个小节50个条款,分别为 (1) 容器:占12个条款,主要介绍了所有容器的共同指导法则 (2) vector和string: ...

  2. 【绝版C++书籍】《Effective STL》读书笔记

    <Effective STL>读书笔记 写在前面 0<Effective STL>中可能过时的内容 1 容器 第1条:慎重选择容器类型. 第2条:不要试图编写独立于容器类型的代 ...

  3. Effective STL 50条有效使用STL的经验笔记

    Scott Meyers大师Effective三部曲:Effective C++.More Effective C++.Effective STL,这三本书出版已很多年,后来又出版了Effective ...

  4. 关于STL的一些笔记

    最近在学stl,关于它的一些笔记整理一下: 1 #include <vector> vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一 ...

  5. 《Effective STL》重读笔记整理

    最近有闲,在工作之余重读了<effective STL>一书,并通过 twitter 记了一下笔记,今天整理收集到这里. twitter 真的非常适合记读书笔记,哈哈,以后要好好地发扬.另 ...

  6. 《Effective STL》学习笔记(第四部分)

    6.仿函数.仿函数类.函数等 函数和类似函数的对象--仿函数--遍布STL.关联容器使用它们来使元素保持有 序:find_if使用它们来控制它们的行为:如果缺少它们,那么比如for_each和tran ...

  7. 《Effective STL》学习笔记(第三部分)

    4. 迭代器 标准STL容器提供了四种不同的迭代器:iterator.const_iterator.reverse_iterator和const_reverse_iterator 为什么有四种迭代器? ...

  8. 《Effective STL》学习笔记(第二部分)

    2. vector和string 所 有的STL容器都很有用,但是相比于其他容器,vector和string更常用.本章从多个角度覆盖vector和string,如:为什么提倡使用 vector代替数 ...

  9. STL|QTL工作笔记-QString与std::string寻找子串的区别与联系

    目录 STL中的string QTL中的QString 总结 STL中的string 在STL中,是采用这个逻辑进行的: 1.设置一个标志接收find的返回值: 2.当标志为XXX时,则为找到,否则为 ...

最新文章

  1. Flex技术中的陷阱
  2. 图书馆自动化系统 Evergreen 3.3 发布,迁移到 Angular
  3. 皮一皮:有的人自以为有小聪明...
  4. 测试软件测试赢在测试2:中国软件测试专家访谈录
  5. mysql+rownumber的用法_mysql中如何实现row_number
  6. redis 中一个字段 修改map_Redis bitmap 位图 从入门到精通 基础 实战 妙用
  7. java发送小程序模板消息,记录_小程序发送模板消息
  8. osg图元绑定方式总结
  9. 榜单:全球 35 位 35 岁以下科技创新青年
  10. nginx apache 服务器配置
  11. 苹果“双标”?法国版iPhone13仍赠送耳机,在中国同款售价却要149元
  12. 堆栈的缓冲区溢出进不了系统_一文理解缓冲区溢出
  13. [leetcode]Search in Rotated Sorted Array II
  14. 影视APP直播盒子源码 第三方接口无需采集
  15. 禁止java自动更新_修改注册表彻底关闭Java自动更新
  16. 论文那些事—Admix: Enhancing the Transferability of Adversarial Attacks
  17. 《机器学习实战》个人学习记录笔记(二)———k-近邻算法实战之约会网站配对效果判定
  18. Filter的过滤器链
  19. 永磁同步电机驱动视频教程_矢量控制_手把手教你写代码_无感FOC_有感FOC_状态观测器_卡尔曼滤波_慧驱动
  20. 小米盒子 计算机共享,小米盒子局域网SMB共享很好用很方便

热门文章

  1. java冒泡怎么写_java 冒泡 又一种写法
  2. abaqus利用python实现部件合并_python脚本实现abaqus前处理2D多晶粒建模(附完整源码)-Voronoi多边形的生成...
  3. babel需要这样配置
  4. jmeter mysql数据库_jmeter连接mysql数据库
  5. daemonset怎么读_DaemonSet 与 StatefulSet的使用
  6. MySQL设置数据格为空白或NULL
  7. Cli4.5.x 中使用axios请求数据
  8. oracle 事务实现原理,数据库事务的实现原理
  9. java无法编译加载主类_JAVA编译完毕运行时错误找不到或无法加载主类
  10. php sorcket_深入浅出讲解:php的socket通信