|
Doubly Linked List
|
The implementation of a "Doubly Linked List with List Iterator".
In this assignment an Abstract Data Type of a "Doubly Linked List" shall be implemented against the defined common interface of a list. This interface is declared within file 'list.h'. In addition shall support a list iterator with the interface declared within file 'list_iterator.h'. It is intended to be used by applications or other libraries and aims to abstract the 'list' functionality as far as possible.
The 'Doubly Linked List' shall have the following members of the list data:
The list iterator shall be implemented in the same .c file as the list.
Tip: Feel free to reuse YOUR Simple Singly Linked List implementation: Copy the functions from simple_singly_linked_list.c into doubly_linked_list.c and modify the data and functions accordingly. Don't miss the iterator functions.
Configuration
There is no configuration required.
The 'Doubly Linked List' shall be implemented in file 'doubly_linked_list_with_iterator.c'. The corresponding header file includes the common interface 'list.h' and 'list_iterator.h' but does not add functions by its own.
The library 'allocator' is provided for memory allocation functionality that integrates with unit testing. Behind the facade, allocats memory dynamically similar to malloc. Allocated memory must be freed when it is not used anymore. The 'allocator' library must be used for memory alloction operations, otherwise unit tests will fail.
Main driver is not required in this assignment.
make clean followed by make to start a clean build. This approach is also recommended after everthing is done, because some compiler warning appears only in clean builds.
1.8.18