The problem is to play that children’s game of word substution.
Linked list (pp. 684-692)
malloc (p. 685)
example program (LISTING 17.2 -- pp 687-688)
traversing the list (pp. 689-690)
creating the list (pp. 690-691)
deleting the list (pp. 691)
Abstract Data Type (pp. 692-708)
operators (pp. 693-694)
creating the interface (pp. 694-699)
using the ADT (pp. 699-700)
implementing the ADT (pp. 701-708)
Array-like ADT (pp. 708-720)
Linked list vs. Array (pp. 726-730)
Binary search tree (pp. 730-756)
WordLoop
WordLoop CreateWL(const char * word)int AddWordWL(WordLoop wl, const char * word)const char * NextWordWL(WordLoop wl)void AdvanceWL(WordLoop wl)void DestroyWL(WordLoop wl)NULL pointer?WordMap
WordMap CreateWM (void) ;int InsertWM(WordMap wm, const char *key, const void *value) ;void * LookupWM(WordMap wm, const char *key) ;void DestroyWM (WordMap wm) ;void * is used as an opaque pointerWordGameInterface
WordLoop and WordMapvoid *CreateWGI(void) ;int InsertKeyValueWGI(void * wgi, const char * key, const char * word) ;const char * LookupKeyWGI(void * wgi, const char * key) ;void * is used as an opaque pointerWordLoop
WordMap