home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_300 / 347_01 / tavlfree.c < prev    next >
C/C++ Source or Header  |  1991-04-27  |  781b  |  30 lines

  1. /*:file:version:date: "%n    V.%v;  %f"
  2.  * "TAVLFREE.C    V.10;  27-Apr-91,12:05:50"
  3.  *
  4.  *  Module : tavl_destroy(TAVL_TREE)
  5.  *  Purpose: Destroy a TAVL tree - free all dynamic memory used.
  6.  *
  7.  *  Released to the PUBLIC DOMAIN
  8.  *
  9.  *              author:     Bert C. Hughes
  10.  *                          200 N.Saratoga
  11.  *                          St.Paul, MN 55104
  12.  *                          Compuserve 71211,577
  13.  */
  14.  
  15. #include "tavltree.h"
  16.  
  17. void tavl_destroy(TAVL_treeptr tree)
  18. {
  19.     register TAVL_nodeptr q;
  20.     register TAVL_nodeptr p = tavl_succ(tavl_reset(tree));
  21.  
  22.     while (p) {
  23.         p = tavl_succ(q = p);
  24.         (*tree->free_item)(q->dataptr);
  25.         (*tree->dealloc)(q);
  26.     }
  27.     (*tree->dealloc)(tree->head);
  28.     (*tree->dealloc)(tree);
  29. }
  30.