/* CharList.h --- Linked lists containing character data */ typedef struct CharListNodeStruct { char data; struct CharListNodeStruct * nextPtr; /* struct label necessary! */ } CharListNode; typedef CharListNode * CharList; /* Access functions */ void printCharList(CharList p); /* printing as raw character sequence */ void insert(CharList * p, char val); /* insertion: recursive implementation */ void insertIter(CharList * p, char val); /* iterative implementation */ void delete(CharList * p, char val); /* deletion: recursive implementation */ void deleteIter(CharList * p, char val); /* iterative implementation */ void append(CharList * p, CharList q); void appendIter(CharList * p, CharList q); void reverse(CharList * p); /* reversion: recursive implementation */ void reverseIter(CharList * p); /* iterative implementation */