STL容器用法速查表:list,vector,stack,queue,deque,priority_queue,set,map
2016-03-15 19:27 GarfieldEr007 阅读(495) 评论(0) 编辑 收藏 举报STL容器用法速查表:list,vector,stack,queue,deque,priority_queue,set,map
list | vector | deque | stack | queue | priority_queue |
map |
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