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 WordMap
void *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