vector — single contiguous block. deque — multiple blocks.
std::vector:
1std::vector<int> v = {1, 2, 3};2v.push_back(4);3v[0] = 10; // Fast
std::deque:
1std::deque<int> dq = {1, 2, 3};2dq.push_front(0); // O(1)3dq.push_back(4); // O(1)4dq[0] = 10; // Fast
When to use deque: