Question: For this assignment, I've started an array - based list implementation to track songs in a playlist. Download the code TrackSongs.cpp given in the module

For this assignment, I've started an array-based list implementation to track songs in a playlist. Download the
code TrackSongs.cpp given in the module and familiarize yourself with it. Don't forget that list ADT's start at
position 1, but the underlying array used in this class starts at position 0 like any C++ array.
Once you're comfortable with the code, you have four tasks:
Replace item at position pos in the list with the new parameter item. Throw the invalid_argument exception if
pos 1 or pos > getLength().
Remove the item at position pos. You need to update the state of the list, that is, shift items after pos over one
to get rid of the gap left by the removed item and update numltems. If the remove operation is successful,
return true. If it was not successful, for example because pos is out of range, return false.
bool insert(int pos, const ItemType& item)
Also, improve the insert() function. Currently, if you try to add an item to a full list, insert() returns false and does
not add the item. Improve this so that it dynamically allocates more memory to the list to make room for the
new item using the new operator. You can add another CHUNK_SIZE amount of memory, or any other amount
of memory you think makes sense. Don't forget to deallocate any existing memory, e.g. using delete [].
int main()
Now demonstrate that your functions work in main() by removing songs from the list and changing songs in the
list. You may make modifications to the user interface to let the user do this on the fly, or just hard code a few
removals/changes in main(). Make sure to demonstrate your exception handling for setEntry(). For the improved
insert() function, make sure you demonstrate that the new functionality works, e.g. by changing CHUNK_SIZE to
a low number like 2 and inserting more than 2 songs into the list.
Submission
Submit your updated C++ file with the new functions, the modified insert() function, the modified main()
function, and sufficient sample output demonstrating all the new functionality in one plain text .cpp file.
 For this assignment, I've started an array-based list implementation to track

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!