See this page as a slide show
CS253 STL
Overview
- The most popular containers:
- vector: variable-length array
- string: vector<char>
- list: doubly-linked list
- set: an ordered tree
- multiset: a set where duplicates are permitted
- map: a tree of key,value (or a translation)
- multimap: a map where duplicate keys are permitted
- deque: a vector with push/pop at either end
- unordered_set: hash version of set
- unordered_multiset: hash version of multiset
- unordered_map: hash version of map
- unordered_multimap: hash version of multimap
Attributes
Name | Key/Value | Insertion | Append | Search | Ordered |
string | value | O(n) | O(1) | O(n) | no |
vector | value | O(n) | O(1) | O(n) | no |
list | value | O(n) | O(1) | O(n) | no |
[multi]set | value | O(log n) | | O(log n) | yes |
[multi]map | key/value | O(log n) | | O(log n) | yes |
deque | value | O(n) | O(1) | O(n) | no |
unordered_[multi]set | value | O(1) | | O(1) | oddly |
unordered_[multi]map | key/value | O(1) | | O(1) | oddly |
Popular methods
- Universal container methods:
- default ctor
- copy ctor
operator=
- ctor(iter, iter)
- ctor(n)
empty()
size()
/ max_size()
clear()
begin()
/ end()
/ cbegin()
/ cend()
- Popular container methods:
rbegin()
/ rend()
/ crbegin()
/ crend()
front()
/ back()
insert()
/ erase()
find()
/ count()
Popular types
- Universal types:
value_type
iterator
const_iterator
size_type
- Popular types:
key_type
reverse_iterator
const_reverse_iterator