#ifndef LIST_H #define LIST_H #include #include #include #include #include typedef struct list List; typedef int Item; #define MAX_PRINT_LENGTH 50 List * ListNew(); void ListDestroy(List * l); void ListInsertStart(List * l, Item item); void ListInsertEnd(List * l, Item item); Item ListRemoveStart(List * l); Item ListRemoveEnd(List * l); int ListSize(List * l); bool ListIsEmpty(List * l); void ListReverse(List * l); char * ListToString(List * l); // Used for testing only void ListDisplay(List * l); // Used for debugging only #endif