Headers
ne = num elements passed to function
n = num elements in container
<vector>
(back sequence) (forward, reversible, rand access)
<deque>
(back/front sequence) (forward, reversible, rand access)
<list>
(back/front sequence) (forward, reversible)
Associative Containers:
<set>, <map>
Constructor
default: c;
fill: c(ne, elem, [alloc])
range: c(inItA, iItB)
copy: c(const c&)
vector deque list set, multiset
map, multimap
capacity empty(); size(); max_size() – sys or lib limit O(1) O(1) O(1) O(1)
resize(n, elem=def) – changes container size O(n) O(n) O(n)
capacity O(1)
reserve(space) - does not change size O(n)
Element Access Iterator: front(), back(). rbegin(), rend() O(1) O(1) O(1) O(1)
operator[i]; at(i) - throws out_of_range O(1) O(1) O(log n) (map)
Modifiers

insert returns iterator to first inserted element

erase returns iterator to 1 + last removed element
assign(iterA, iterB): range
assign(ne, val): fill
O(n)
O(n)
O(ne)
O(ne)
O(ne)
O(ne)
insert(iter, val) – assoc returns pair<it, bool>
insert(iter, ne, val)
insert(iter, inItA, inItB)
O(n)
O(n)
O(n)
O(1)
O(ne)
O(ne)
O(1)
O(ne)
O(ne)
O(log n)
O(1)
O(ne log n)
erase(iter)
erase(iterA, iterB)
O(n)
O(n)
O(1)
O(ne)
O(1)
O(ne)
O(1)
O(ne)
size_t erase(val) O(log n)
clear O(n) O(n) O(n) O(n)
swap(container &) O(1) O(1) O(1) O(1)
push_back(val); pop_back() O(1) O(1) O(1)
push_front(val); pop_front() O(1) O(1)
List Operations remove(val); remove_if(predicate) O(n)
unique([binaryPred]) O(n - 1)
merge(list &m, [cmp]) O(n + m -1)
reverse O(n)
sort([cmp]) O(n log n)
splice(iter, list &newLst); splice(iter, list &, inIter) splice(it, list&, inItA, inItB) O(ne)
Assoc containers
operations
count(); find(); equal_range();
lower_bound(); upper_bound()
O(log n)

Container Adaptors <priority_queue>
Maintained as max-heap with vector. make_heap: O(3n)
<queue>
FIFO
Implemented with deque
<stack>
LIFO
Implemented with deque
Capacity empty(); size() O(1) O(1) O(1)
Element Access front(); back() O(1)
top() O(1) O(1)
Modifiers push() O(log n) – push_heap O(1) – push_back O(1) – push_front
pop() O(log n) – pop_head O(1) – pop_front O(1) – pop_font