Corning Community College CSCS2320 Data Structures ~~TOC~~ ======Project: SLL3====== =====Errata===== This section will document any updates applied to the project since original release: * __revision #__: (DATESTAMP) =====Objective===== This is a transitional project, making a few modifications to the list struct forcing some changes to a few functions so that we can better explore the next topic (in **sll4**). As such, while this is a standalone project, it should be considered a small one, and one that is given out in combination with another (again: **sll4**), so be mindful of time management. You will need to complete this project prior to upgrading to **sll4**. =====Project Overview===== ====list.h==== For this project, we need to make a couple modifications to the list struct (which you can also check out in **inc/list.h**): struct list { Node *first; // pointer to start of list Node *last; // pointer to end of list struct list *after; // pointer to the next list unsigned long int qty; // number of nodes in list }; typedef struct list List; // because we deserve nice things Specifically, we have an after pointer, so that we can point to an entirely separate list, along with a newly added qty variable, which will keep track of the number of nodes in the list. To implement **qty**, all list functions that perform manipulations to the list will need to see some updating (**insert()**, **append()**, **obtain()**, and **mklist()**). **mklist()** should also set the list's **after** pointer to a sane initial state (NULL). =====Expected Results===== To assist you in verifying a correct implementation, a fully working implementation of the node library, list library (with new modifications), and group library should resemble the following: ====list library==== Here is what you should get for all the functions completed so far in the list library (sll0+sll1+sll2+sll3): lab46:~/src/data/sll3$ bin/verify-list.sh ====================================================== = Verifying Singly-Linked List Functionality = ====================================================== [mklist] Total: 21, Matches: 21, Mismatches: 0 [insert] Total: 21, Matches: 21, Mismatches: 0 [displayf] Total: 4, Matches: 4, Mismatches: 0 [getpos] Total: 8, Matches: 8, Mismatches: 0 [setpos] Total: 9, Matches: 9, Mismatches: 0 [append] Total: 21, Matches: 21, Mismatches: 0 [searchlist] Total: 11, Matches: 11, Mismatches: 0 [cplist] Total: 14, Matches: 14, Mismatches: 0 [displayb] Total: 6, Matches: 6, Mismatches: 0 [compare] Total: 15, Matches: 15, Mismatches: 0 [obtain] Total: 44, Matches: 44, Mismatches: 0 [clearlist] Total: 3, Matches: 3, Mismatches: 0 [rmlist] Total: 3, Matches: 3, Mismatches: 0 [swapnode] Total: 9, Matches: 9, Mismatches: 0 [sortlist] Total: 27, Matches: 27, Mismatches: 0 ====================================================== [RESULTS] Total: 210, Matches: 210, Mismatches: 0 ====================================================== lab46:~/src/data/sll3$ =====Submission===== {{page>haas:summer2015:common:submitblurb#DATA&noheader&nofooter}}