The copy constructor, the assignment operator, and the destructor are linear in the container's size.
begin() and end() are amortized constant time.
size() is linear in the container's size. max_size() and empty() are amortized constant time. If you are testing whether a container is empty, you should always write c.empty() instead of c.size() == 0. The two expressions are equivalent, but the former may be much faster.
swap() is amortized constant time.