STL容器用法速查表:list,vector,stack,queue,deque,priority_queue,set,map

时间:2022-02-25 13:06:10
  list vector deque stack queue priority_queue

set

[unordered_set]

map

[unordered_map]

multimap

[unordered_multimap]

    contiguous storage double-ended queue LIFO FIFO 1st is greatest      
Iterators       X X X      
Element access push_back push_back push_back push push push      
push_front   push_front            
pop_back pop_back pop_back pop pop pop      
pop_front   pop_front            
front front front top front top      
back back back   back        
  at(i) at(i)         at(key)  
Modifiers assign assign assign            
insert insert insert      

insert

emplace

insert

emplace(key,val)

 insert

emplace(key,val)

erase erase erase       erase

erase(key)=>erasednum

erase(it/ita,itb)=>it

erase(key)=>int(多个)

erase(it/ita,itb)=>it

swap swap swap       swap swap(mapb) swap(mapb)
clear clear clear       clear clear()  clear()
Capacity resize resize resize            
empty empty empty empty empty empty empty empty()  empty()
Operations splice           find find(key)=>it  find(key)=>it(单个)
remove           count count(key)  count(key)
remove_if           equal_range equal_range  equal_range(pair)
unique           upper_bound upper_bound  upper_bound
merge           lower_bound lower_bound  lower_bound
sort                
  reverse                

List Operations

list splice // it points to 2 | mylist1: 1 2 3 4 |mylist2: 10 20 30
mylist1.splice (it, mylist2);
// mylist1: 1 10 20 30 2 3 4 | mylist2 (empty)|"it" still points to 2
mylist2.splice (mylist2.begin(),mylist1, it);
// mylist1: 1 10 20 30 3 4 | mylist2: 2 | "it" is now invalid.
mylist1.splice ( mylist1.begin(), mylist1, it, mylist1.end());
//"it" points now to 30 | mylist1: 30 3 4 1 10 20
remove mylist.remove (value); 
remove_if mylist.remove_if (function);
mylist.remove_if(class());
unique bool same_integral_part (double first, double second)
{ return ( int(first)==int(second) ); }
mylist.sort();             //  2.72,  3.14, 12.15, 12.77, 12.77,
                             // 15.3,  72.25, 72.25, 73.0,  73.35
mylist.unique();           //  2.72,  3.14, 12.15, 12.77
                             // 15.3,  72.25, 73.0,  73.35
mylist.unique (same_integral_part);  //  2.72,  3.14, 12.15
                                       // 15.3,  72.25, 73.0
merge first.sort();
second.sort();
first.merge();
first.merge(second,mycomparison);
sort  
reverse  

STL容器用法速查表:list,vector,stack,queue,deque,priority_queue,set,map的更多相关文章

  1. java三篇博客转载 详解-vector,stack,queue,deque

    博客一:转载自http://shmilyaw-hotmail-com.iteye.com/blog/1825171 java stack的详细实现分析 简介 我们最常用的数据结构之一大概就是stack ...

  2. HTML5速查表

    HTML5速查表 标签 描述 版本 属性 <!--...--> 定义注释 4 / 5 none <!DOCTYPE> 定义文档类型 4 / 5 none <a> 定 ...

  3. OpenStack 命令行速查表

    OpenStack 命令行速查表   updated: 2017-07-18 08:53 Contents 认证 (keystone) 镜像(glance) 计算 (nova) 实例的暂停.挂起.停止 ...

  4. GNU Emacs命令速查表

    GNU Emacs命令速查表 第一章  Emacs的基本概念 表1-1:Emacs编辑器的主模式 模式 功能 基本模式(fundamental mode) 默认模式,无特殊行为 文本模式(text m ...

  5. 机器学习速查表&lpar;cheatsheet&rpar;资源汇总分享

    本文收集整理了机器学习相关速查表(Machine Learning Cheatsheet),包含机器学习.Python.Numpy.Pandas.Matplotlib.线性代数.微积分.统计学.概率论 ...

  6. 简明 Git 命令速查表(中文版)

    原文引用地址:https://github.com/flyhigher139/Git-Cheat-Sheet/blob/master/Git%20Cheat%20Sheet-Zh.md在Github上 ...

  7. &period;htaccess下Flags速查表

    Flags是可选参数,当有多个标志同时出现时,彼此间以逗号分隔. 速查表: RewirteRule 标记 含义 描述 R Redirect 发出一个HTTP重定向 F Forbidden 禁止对URL ...

  8. Markdown 语法速查表

      Markdown 语法速查表 1 标题与文字格式 标题 # 这是 H1 <一级标题> ## 这是 H2 <二级标题> ###### 这是 H6 <六级标题> 文 ...

  9. jQuery API 3&period;1&period;0 速查表-打印版

    jQuery API 3.1.0 速查表-打印图,(API来自:http://jquery.cuishifeng.cn/index.html)

随机推荐

  1. operating expense &amp&semi; captial expenditure

    营运成本(营业成本, operating expense, OPEX) 指的是运行企业的持续性.消耗性的支出,与之对照的是资本支出(captial expenditure, CAPEX).例如:购买影 ...

  2. android 后台附件下载

    在service中通过在oncreat()中开启一个线程,轮训ArrayList<AttachmentTask> 我这个附件下载的任务list ,ArrayList<Attachme ...

  3. 配置并学习微信JS-SDK(1)

    <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> 微信JS-SDK ...

  4. java 设计模式初探之适配器模式

    1. 概述 将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作. 2. 解决的问题 即Adapter模式使得原本由于接口不兼容而不 ...

  5. effective c&plus;&plus; 条款9 do not call virtual function in constructor or deconstructor

    在构造函数中不要调用virtual函数,调用了也不会有预期的效果. 举个例子 class Transaction { public: Transaction() { log(); } ; } clas ...

  6. Python学习笔记进阶篇——总览

    Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(Socket编程进阶&多线程.多进程) Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(异常处理) Pyth ...

  7. php之 有点复杂的 流程管理

    1.流程管理的用法是什么样的? 2.怎么发起想要的流程? 3.审批的人要是怎么审批通过? 4.流程审核是不是要挨个走过? 一.还是要有数据库的内容的 肯定会有表的,首先就是用户表了,然后就是流程表,用 ...

  8. Stars(二维树状数组)

    Stars Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/65536 K (Java/Others) Total Submiss ...

  9. nautilus出现一闪而过现象

    linux相关问题: 1.这几天在使用乌班图时,出现文件夹打开一闪而过现象,于是我试着使用命令行来启动: sudo nautilus 出现下面这一堆错误(error_info): (nautilus: ...

  10. Atcoder Beginner Contest 124 解题报告

    心态爆炸.本来能全做出来的.但是由于双开了Comet oj一个比赛,写了ABC就去搞那个的B题 还被搞死了. 回来写了一会D就过了.可惜比赛已经结束了.真的是作死. A - Buttons #incl ...