Our list provides a useful but minimal set of operations. It contains both stack and queue operations so that we can use it for either a stack or a queue, as needed. There are other list operations you might want to try to implement yourself. Some of these might include the following function prototypes:
ListNode* InsertNodeAt( LinkedList* pList , ListNode* pNode );
ListNode* RemoveNodeAt( LinkedList* pList , ListNode* pNode );
void SortList ( LinkedList* pList , eSortOrder order );
void ConcatenateList( LinkedList* pList1 , LinkedList* pList2 );
We will not implement these functions right now. We will, however, implement some of these when we revisit our carddeck.c program.