1 //--------------------------------------------------------------------------
2 // link.cc - Source file for the link list classes
7 // $Date: 1998/09/10 19:57:17 $
13 // Revision 1.5 1998/09/10 19:57:17 mlong
14 // lots of little bug fixes and a few new features
16 // Revision 1.4 1998/06/04 19:55:00 mlong
19 // Revision 1.3 1998/04/18 18:46:04 mlong
21 // added delete tourney function
23 // Revision 1.2 1998/04/15 16:56:17 mlong
24 // *** empty log message ***
26 // Revision 1.1 1998/03/16 18:09:27 moses
29 // Revision 1.2 1998/03/16 19:47:54 chess
32 // Revision 1.1 1998/03/14 03:13:00 chess
35 // Revision 1.1 1996/09/30 20:52:48 moses
39 //--------------------------------------------------------------------------
41 // static char RCSid[] = "$Id: link.cc,v 1.5 1998/09/10 19:57:17 mlong Exp $";
45 //----------------------------------------------------------------------------
49 // default constructor
50 Link::Link(void) { next = 0; }
53 Link::Link(Link *p) { next = p; }
58 //----------------------------------------------------------------------------
59 // LinkListBase class methods
62 // default constructor
63 LinkListBase::LinkListBase(void) { head = 0; }
65 LinkListBase::~LinkListBase(void) {}
67 void LinkListBase::Insert(Link *p)
75 void LinkListBase::Insert(Link *p, Link *q) {
82 for(tmp = head; (tmp->next != 0); tmp = tmp->next) {
96 //--------------------------
99 Link *LinkListBase::Head(void) { return(head); }
101 void LinkListBase::Append(Link *p)
106 for(tmp = head; tmp->next != 0; tmp = tmp->next)
114 void LinkListBase::Delete(void)
127 void LinkListBase::Delete(Link *p)
132 for(tmp = head; (tmp != 0 && tmp->next != p); tmp = tmp->next)
139 } else if(head == p) {
144 */ /* This line will delete the entire list */
145 head = tmp; /* This one does not delete the entire list. */
152 //----------------------------------------------------------------------------
153 // LinkListIterBase class methods
157 LinkListIterBase::LinkListIterBase(LinkListBase& list)
160 currentItem = currentList->head;
163 void LinkListIterBase::Reset(void)
165 currentItem = currentList->head;
168 Link *LinkListIterBase::Next(void)
174 currentItem = currentItem->next;