home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / OB3.2D2.DMS / in.adf / Module / Queues.mod < prev    next >
Encoding:
Text File  |  1994-08-05  |  1.0 KB  |  47 lines

  1. (*-------------------------------------------------------------------------*)
  2. (*                                                                         *)
  3. (*  Amiga Oberon Interface Module: Queues             Date: 02-Nov-92      *)
  4. (*                                                                         *)
  5. (*   © 1992 by Fridtjof Siebert                                            *)
  6. (*                                                                         *)
  7. (*-------------------------------------------------------------------------*)
  8.  
  9. MODULE Queues;
  10.  
  11. IMPORT LL * := LinkedLists;
  12.  
  13. TYPE 
  14.   Queue * = POINTER TO QueueDesc;
  15.   QueueDesc * = RECORD (LL.ListDesc) END;
  16.   
  17.   Node * = POINTER TO NodeDesc;
  18.   NodeDesc * = RECORD (LL.NodeDesc) END;
  19.  
  20.  
  21. PROCEDURE Create * (): Queue;
  22. VAR
  23.   q: Queue;
  24. BEGIN
  25.   NEW(q); RETURN q;
  26. END Create;
  27.  
  28.               
  29. PROCEDURE (q: Queue) Put * (x: Node);    
  30. BEGIN  
  31.   q.AddTail(x);  
  32. END Put;  
  33.  
  34.  
  35. PROCEDURE (q: Queue) Get * (): Node;    
  36. VAR 
  37.   n: LL.Node;
  38. BEGIN  
  39.   n := q.RemHead();  
  40.   RETURN n(Node);  
  41. END Get;  
  42.  
  43.  
  44. END Queues.
  45.  
  46.  
  47.