C++ STL Data Structures Time Complexity Table

Data Structure Access Insertion Deletion Search Traversal
array O(1) O(1) O(1) O(n) O(n)
vector O(1) O(1) amortized O(n) (worst-case) O(n) O(n)
deque O(1) O(1) O(1) O(n) O(n)
list (doubly) O(n) O(1) O(1) O(n) O(n)
forward_list O(n) O(1) O(1) O(n) O(n)
stack O(1) O(1) O(1) O(n) O(n)
queue O(1) O(1) O(1) O(n) O(n)
priority_queue N/A O(log n) O(log n) O(n) O(n)
set (std::set) O(log n) O(log n) O(log n) O(log n) O(n)
multiset O(log n) O(log n) O(log n) O(log n) O(n)
unordered_set O(1) O(1) avg / O(n) worst O(1) avg / O(n) worst O(1) avg / O(n) worst O(n)
map (std::map) O(log n) O(log n) O(log n) O(log n) O(n)
multimap O(log n) O(log n) O(log n) O(log n) O(n)
unordered_map O(1) O(1) avg / O(n) worst O(1) avg / O(n) worst O(1) avg / O(n) worst O(n)
bitset O(1) O(1) O(1) O(1) O(n)
string O(1) O(1) amortized O(n) O(n) O(n)

Notes: