Course Home | Course Policies | Homework | Lab Open Hours | Programming | Labs | Schedule & Lecture Notes

## Programming Assignment 4 Vector class

### Due: Thursday, Oct. 27, 11:59pm

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.

### Collaboration Policy

For this assignment, you must work alone on your assignment.

Please make sure you adhere to the policies on academic integrity in this regard.

# Overview

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.)

# Functions to code

• void resize ( int sz, Object c );

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.

• void remove(Object val);

Removes the earlist occurance of val present in the vector. Note that this changes the size.

• void erase(int index);

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.

• bool operator==(const Vector