Get the 3 .cpp and .h files whose names start with
double_list. The porblem is to
extend the code in these files.
The file double_list_iterator.h contains the declaration of a
dlist<T> class. I have written most of the code for the
member and friend functions for the class and you will
find the code in double_list.cpp. Included in the dlist
class is a iterator for the class - similar to how it would
be written by an STL developer.
1. To the code in [url removed, login to view] add code for the member
functions whose code has not already been written: for example,
isempty(), push_back(), pop_back(), peek_front() and
peek_back(). Also missing code for the iterator functions should be written.
Then test the code by adding tests to the code in the
file double_list_test_iterator.cpp. Make sure you exercise the
code thoroughly. In addition, test the use of the iterator
by writing code to find the largest value in an list - add it to
the bottom of your tests in main.
Make sure all your little test examples are coming out correctly, before you continue. Hint: Do these 1 at a time; e.g. write the code for a member function and then add a test to the main . Don't continue until you get that test to come out. In other words write and test the code incrementally. YOU'VE BEEN WARNED.!!
To test the iterators further, add two functions - for insertion sort and addup the values In other words,
add these functions to the [url removed, login to view]
Note for the descriptions below: values bracketed by two iterators means all the values between the two iterators, including the first iterator but not the second iterator.
// sorts the values bracketed by the two iterators
template <class T>
void insert_sort( dlist<T>::iterator, dlist<T>::iterator );
// adds up the values bracketed by the iterators
template <class T>
T addup( dlistItr<T>, dlistItr<T> );
Now add tests of these functions to the bottom of the main
program in double_list_iterator_tet.cpp.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).