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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STL容器用法速查表:list,vector,stack,queue,deque,priority_queue,set,map相关的知识,希望对你有一定的参考价值。

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

  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  
 
from: http://www.cnblogs.com/wei-li/p/3353143.html

以上是关于STL容器用法速查表:list,vector,stack,queue,deque,priority_queue,set,map的主要内容,如果未能解决你的问题,请参考以下文章

STL容器——vector与list

最全 C++ 资源框架速查表,建议收藏

STL 容器类型作为模板参数

STL map&set用法详解

STL map&set用法详解

STL常用容器:vector容器用法总结