Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

This is C++ Please submit all files of code with names The array in arrayListType is being used as a partially filled array which means

This is C++ Please submit all files of code with names

The array in arrayListType is being used as a partially filled array which means that items are stored from the beginning to the end of the array with no gaps in between them. This restriction becomes part of the class invariant for the arrayListType and unorderedArrayListType classes as follows:

Items can be stored in the array in any order.

The length private instance variable keeps track of the number of items currently in the list.

New items are added at the location represented by length.

No gaps are allowed between items.

It doesn't matter what values are stored in locations beyond length.

The number of items in the array cannot exceed the value stored in the maxSize private instance variable.

Also note that the instance variables in the arrayList class are specified with the access type protected, meaning that they can be used without going through the public access functions by classes derived from this class. The public accessor functions must still be used by entities outside of the class and its derived classes.

Take the files for the arrayListType and unorderedArrayListType classes that are in the Chapter 12/Source Code From Textbook/arrayList ADT folder on the Blackboard, create a project and make the following modifications:

The function retrieveAt of the class arrayListType is written as a void function. Rewrite this function so that it is written as a value returning function, returning the required item. If location of the item to be returned is out of range, use the assert function (part of the library) to terminate the program. Use the class unorderedArrayListType to test your function.

The function removeAt of the class arrayListType removes an element from the list by shifting the elements of the list. However, if the element to be removed is at the beginning of the list and the list is fairly large it could take a lot of computer time. Because the list elements are in no particular order, you could simply remove the element by swapping the last element of the list with the item to be removed and reducing the length of the list. Rewrite the definition of the function removeAt using this technique. Use the class unorderedArrayListType to test your function.

The function remove of the class arrayListType removes only the first occurrence of an element. Add the function removeAll as a pure virtual function in the class arrayListType, which would remove all occurrences of a given element. Also, write the definition of the function removeAll in the class unorderedArrayListType.

Write one or more programs to test your modifications. Turn in all your header files, all your implementation files, and all your test programs. Also turn in one or more screen shots showing the results of your testing.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Introduction To Constraint Databases

Authors: Peter Revesz

1st Edition

1441931554, 978-1441931559

More Books

Students also viewed these Databases questions

Question

6. Identify seven types of hidden histories.

Answered: 1 week ago

Question

What is human nature?

Answered: 1 week ago