This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
haas:summer2015:data:projects:sll1 [2015/03/10 12:28] – external edit 127.0.0.1 | haas:summer2015:data:projects:sll1 [2015/06/01 21:17] (current) – [list library (so far)] wedge | ||
---|---|---|---|
Line 30: | Line 30: | ||
List *cplist(List *); // duplicate existing list | List *cplist(List *); // duplicate existing list | ||
void displayb(List *, int); // display list backwards | void displayb(List *, int); // display list backwards | ||
- | int compare(List *, List *); // compare two lists for equality | + | uc compare(List *, List *, ulli *); |
+ | </ | ||
+ | |||
+ | Additionally, | ||
+ | |||
+ | <code c> | ||
+ | typedef struct list List; // because we deserve nice things | ||
+ | typedef unsigned long long int ulli; // short name for biggest space | ||
+ | typedef unsigned char uc; // shorter name for smallest space | ||
+ | </ | ||
+ | |||
+ | and: | ||
+ | <code c> | ||
+ | // return status codes | ||
+ | // | ||
+ | #define CMP_EQUALITY | ||
+ | #define CMP_L1_NULL | ||
+ | #define CMP_L1_EMPTY | ||
+ | #define CMP_L1_GREATER | ||
+ | #define CMP_L1_LESS | ||
+ | #define CMP_L2_NULL | ||
+ | #define CMP_L2_EMPTY | ||
+ | #define CMP_L2_GREATER | ||
+ | #define CMP_L2_LESS | ||
</ | </ | ||
Line 39: | Line 62: | ||
In this project, **append()** can be considered that basic operation, where **cplist()** can be built using **append()** (along with any other list/node functions from this and previous projects). | In this project, **append()** can be considered that basic operation, where **cplist()** can be built using **append()** (along with any other list/node functions from this and previous projects). | ||
- | |||
====list library==== | ====list library==== | ||
In **src/ | In **src/ | ||
Line 58: | Line 80: | ||
====List library unit tests==== | ====List library unit tests==== | ||
- | In **testing/list/unit/**, you will find these new files: | + | In **unit/list/**, you will find these new files: |
* **unit-append.c** | * **unit-append.c** | ||
Line 83: | Line 105: | ||
To assist you in verifying a correct implementation, | To assist you in verifying a correct implementation, | ||
- | ====node library==== | ||
- | Here is what you should get for the node library: | ||
- | |||
- | <cli> | ||
- | lab46: | ||
- | ==================================================== | ||
- | = Verifying Singly-Linked Node Functionality | ||
- | ==================================================== | ||
- | | ||
- | | ||
- | | ||
- | ==================================================== | ||
- | [RESULTS] Total: | ||
- | ==================================================== | ||
- | lab46: | ||
- | </ | ||
====list library (so far)==== | ====list library (so far)==== | ||
Line 117: | Line 123: | ||
[cplist] Total: | [cplist] Total: | ||
[displayb] Total: | [displayb] Total: | ||
- | | + | |
====================================================== | ====================================================== | ||
- | | + | |
====================================================== | ====================================================== | ||
lab46: | lab46: | ||
</ | </ | ||
- | =====Submission | + | =====Submission===== |
- | To be successful in this project, the following criteria must be met: | + | {{page> |
- | + | ||
- | * Project must be submit on time, by the posted deadline. | + | |
- | * Late submissions will lose 25% credit per day, with the submission window closing on the 4th day following the deadline. | + | |
- | * All code must compile cleanly (no warnings or errors) | + | |
- | * all requested functions must be implemented in the related library | + | |
- | * all requested functionality must conform to stated requirements (either on this project page or in comment banner in source code files themselves). | + | |
- | * Executed programs must display in a manner similar to provided output | + | |
- | * output formatted, where applicable, must match that of project requirements | + | |
- | * Processing must be correct based on input given and output requested | + | |
- | * Output, if applicable, must be correct based on values input | + | |
- | * Code must be nicely and consistently indented (you may use the **indent** tool) | + | |
- | * Code must be commented | + | |
- | * Any "to be implemented" | + | |
- | * these "to be implemented" | + | |
- | * Sufficient comments explaining the point of provided logic **MUST** be present | + | |
- | * Any and all functions written must have, **at most**, 1 **return** statement | + | |
- | * points will be lost for solutions containing multiple return statements in a function. | + | |
- | * Track/ | + | |
- | * Submit a copy of your source code to me using the **submit** tool (**make submit** will do this) by the deadline. | + |