home *** CD-ROM | disk | FTP | other *** search
/ The Pier Shareware 6 / The_Pier_Shareware_Number_6_(The_Pier_Exchange)_(1995).iso / 038 / dho_9a.zip / QUEUE.CC < prev    next >
Text File  |  1994-10-12  |  2KB  |  87 lines

  1. // Developer Helper Object Set, (C) 1994 Thomas E. Bednarz, Jr.
  2. //  All rights reserved
  3.  
  4. #include"queue.h"
  5. #include<stdlib.h>
  6. #include<iostream.h>
  7.  
  8. //-------------------------------------------------------------------
  9. //  TQueue
  10. TQueue::TQueue()
  11. {
  12.    head = NULL;
  13.    tail = NULL;
  14. }
  15.  
  16.  
  17. //-------------------------------------------------------------------
  18. //  ~TQueue
  19. TQueue::~TQueue()
  20. {
  21.    ClearQueue();
  22. }
  23.  
  24.  
  25. //-------------------------------------------------------------------
  26. //  Enqueue
  27. void TQueue::Enqueue(TObject *obj)
  28. {
  29.    TNode *nd = new TNode(obj);
  30.  
  31.    if (head==NULL)
  32.    {
  33.       head = nd;
  34.       tail = nd;
  35.    }
  36.    else 
  37.    {
  38.       tail->setNext(nd);
  39.       tail = nd;
  40.    }
  41. }
  42.  
  43.  
  44. //-------------------------------------------------------------------
  45. //  Dequeue
  46. TObject *TQueue::Dequeue()
  47. {
  48.    TObject *ret;
  49.    TNode *tmp;
  50.    
  51.    ret = head->getObject();
  52.    tmp = head;
  53.    head = tmp->getNext();
  54.    delete tmp;
  55.    return ret;
  56. }
  57.  
  58.  
  59. //-------------------------------------------------------------------
  60. //  EmptyQueue
  61. int TQueue::EmptyQueue()
  62. {
  63.    return (head==NULL);   
  64. }
  65.  
  66.  
  67. //-------------------------------------------------------------------
  68. //  ClearQueue
  69. void TQueue::ClearQueue()
  70. {
  71.    TNode *tmp;
  72.    while (!EmptyQueue())
  73.    {
  74.       tmp = head;
  75.       head->setNext(tmp->getNext());
  76.       delete tmp;
  77.    }
  78. }
  79.  
  80.  
  81. //-------------------------------------------------------------------
  82. //  getClassName
  83. const char *TQueue::getClassName(void)
  84. {
  85.    return "TQueue";
  86. }
  87.