Warning: You are not allowed to use:
1. any static variables
2. any variables which is not inside a function
3. malloc and free
The storage of the vector is handled automatically, being expanded and contracted as needed. Vectors usually occupy more space than static arrays, because more memory is allocated to handle future growth. This way a vector does not need to reallocate each time an element is inserted, but only when the additional memory is exhausted.
REQUIREMENTS:
Implement the push_back(), pop_back(), reserve() and destructor member functions of Vector classes.
Note:
If the value of size is equal to the value of capacity, and you need to change the value of capacity (reallocate memory) when you push_back a new element. The rule of increasing capacity is: new capacity = max(old capacity + 1, old capacity * 3).
The constructor of vector will not create an array (which means size and capacity is 0).
here are five kinds of commands:
Each commands is followed by a new line character ('\n').
The output should consist of the current state of the vector.