This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
haas:spring2014:data:projects:sll_rewrite [2014/02/21 22:38] – [Submitting] wedge | haas:spring2014:data:projects:sll_rewrite [2014/05/03 13:42] (current) – [03/22/2014] wedge | ||
---|---|---|---|
Line 86: | Line 86: | ||
Note that, in order for these to compile successfully, | Note that, in order for these to compile successfully, | ||
+ | =====A new way to look at lists===== | ||
+ | Unlike your previous implementation, | ||
+ | |||
+ | <code c> | ||
+ | struct list { | ||
+ | struct node *start; | ||
+ | struct node *end; | ||
+ | int qty; | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | As you implement your list functions, you'll want to make use of the List pointer that is passed in, and be sure to maintain the correctness of **start**, **end**, and **qty** (qty is merely a count-- whenever you **insert()** or **append()**, | ||
+ | |||
+ | You'll also want to avoid reinventing the wheel-- rely on the other node/list functions to aid you in accomplishing the various tasks at hand (for example, you should have to do no further calls to **malloc()**-- the **mknode()** and **mklist()** functions should handle it). | ||
+ | |||
+ | =====Task===== | ||
+ | Your task will be to correctly define all the listed functions (as prototyped in the various header files in the **inc/** subdirectory), | ||
+ | |||
+ | Look under the **src/** subdirectory, | ||
=====Updating===== | =====Updating===== | ||
Should any typos be identified and fixes released, or additional code included after you have obtained your original copy, you can synchronize your copy with the main version by doing the following: | Should any typos be identified and fixes released, or additional code included after you have obtained your original copy, you can synchronize your copy with the main version by doing the following: | ||
Line 94: | Line 113: | ||
If there are any issued updates, you'll see output indicating them being applied. If any existing files are changed, a best effort is made to make backup copies, so risk of losing any work will hopefully be minimal (you should still be tracking this whole thing in version control just in case). | If there are any issued updates, you'll see output indicating them being applied. If any existing files are changed, a best effort is made to make backup copies, so risk of losing any work will hopefully be minimal (you should still be tracking this whole thing in version control just in case). | ||
+ | |||
+ | =====Errata===== | ||
+ | ====05/ | ||
+ | * Further tweaks: | ||
+ | * Makefile updates | ||
+ | * testing/ | ||
+ | * testing/ | ||
+ | * testing/ | ||
+ | * some comment clean-up | ||
+ | |||
+ | ====03/ | ||
+ | * Fixed a typo in **src/ | ||
+ | |||
+ | ====03/ | ||
+ | * Updated Makefiles to support upgrading to **sll2** project | ||
+ | * warning-free testing/ | ||
+ | |||
+ | ====03/ | ||
+ | * Added **testing/ | ||
+ | * Dropped connections may leave stale vi swap files laying about; Makefiles have been updated to remove any swapfiles that are present (unrelated to SLL1) | ||
+ | * Added "make update" | ||
+ | * **testing/ | ||
+ | |||
+ | ====03/ | ||
+ | * **src/ | ||
=====Submission===== | =====Submission===== | ||
Line 103: | Line 147: | ||
* Resulting libraries must be operational and functionally correct | * Resulting libraries must be operational and functionally correct | ||
* node and list functions must operate as described, conforming to provided function prototypes | * node and list functions must operate as described, conforming to provided function prototypes | ||
+ | * code must make use of the other node/list functions as appropriate- do not reinvent the wheel | ||
* evaluations of libraries using various unit tests will be an assessment criteria | * evaluations of libraries using various unit tests will be an assessment criteria | ||
* Track/ | * Track/ | ||
Line 125: | Line 170: | ||
lab46: | lab46: | ||
... | ... | ||
- | lab46: | + | lab46: |
Archiving the project ... | Archiving the project ... | ||
Compressing the archive ... | Compressing the archive ... |