Please see the general programming webpage for details about the programming environment for this course, guidelines for programming style, and details on electronic submission of assignments.
The only file you will need for this assignment is the Vector.h file that we wrote in class.
For this assignment, you must work alone on your assignment.
Please make sure you adhere to the policies on academic integrity in this regard.
As you may have noticed, the vector class in C++ has much less functionality than the list class in Python. In addition, we did not complete all of the vector functionality that is included in the standard template library.
In as effort to ``upgrade" the vector class we wrote, you will write the following functions described below in our Vector.h file. (Please download Vector.h from the course schedule webpage and insert your functions into this class, then submit the entire Vector.h file via email by the due date.)
Resizes the vector to contain sz elements.
If sz is smaller than the current vector size, the content is reduced to its first sz elements, the rest being dropped.
If sz is greater than the current vector size, the content is expanded by inserting at the end as many copies of c as needed to reach a size of sz elements. This may cause a reallocation.
Notice that this function changes the actual content of the vector by inserting or erasing elements from the vector; it does not only change its storage capacity.
Removes the earlist occurance of val present in the vector. Note that this changes the size.
This is actually the same as our current erase function, expect for one difference. You will rewrite the function erase from our implementation of vectors so that if the number of elements gets below capacity/4, you shrink the array size by half. If this happens, all the elements copied into a new array of the appropriate size.
Replace all instances of val1 in the vector with the value val2. Note that this should not just find the first such position, but should replace every instance.
Submit your revised Vector.h file.
Submit your revised testVector.cpp file.
An overview of your final product (including comments on how you tested your code), and any further comments you wish to make to the grader.
The assignment is worth 10 points. One point will be based on a checkpoint with the instructor on October 17, at which time you will be expected to have completed at least 20 lines of code for the assignment. The remaining 9 points will be based on your implementation of smart stacks.