home *** CD-ROM | disk | FTP | other *** search
- PROGRAM MyQueue ;
-
- USES
- CRT ,
- QueueOBJ ,
- Elements ,
- BaseTypes ;
-
-
- VAR
- q : PQueueOBJ ;
- d : PElementOBJ ;
-
-
-
- BEGIN { ******* MAIN ******* }
-
- WriteLn ;
-
- WriteLn ( 'Memory before operation : ' , MemAvail : 5 ) ;
-
- q := New ( PQueueOBJ , Init ) ;
-
- q^.Add ( New ( PStrOBJ , Init ( 'One!' ) ) ) ;
- q^.Add ( New ( PRealOBJ , Init ( 1.5 ) ) ) ;
- q^.Add ( New ( PStrOBJ , Init ( 'Two!' ) ) ) ;
- q^.Add ( New ( PRealOBJ , Init ( 2.5 ) ) ) ;
-
- WriteLn ( 'Memory with four items : ' , MemAvail : 5 ) ;
-
- d := PElementOBJ ( q^.Get ) ;
-
- d^.Display ;
-
- Dispose ( d , Done ) ;
-
- WriteLn ( ' -- There number one!' ) ;
-
- q^.Add ( New ( PIntOBJ , Init ( 3 ) ) ) ;
- q^.Add ( New ( PRealOBJ , Init ( 3.5 ) ) ) ;
- q^.Add ( New ( PIntOBJ , Init ( 4 ) ) ) ;
-
- WriteLn ( 'Memory with three more items : ' , MemAvail : 5 ) ;
-
-
- WHILE ( NOT ( q^.Empty ) )
- DO
- BEGIN
-
- d := PElementOBJ ( q^.Get ) ;
-
- d^.Display ;
-
- Write ( ' ' ) ;
-
- Dispose ( d , Done ) ;
-
- END ; { WHILE }
-
- WriteLn ;
-
- WriteLn ( 'Memory after disposing of all elements : ' , MemAvail : 5 ) ;
-
- Dispose ( q , Done ) ;
-
- WriteLn ( 'Memory after disposing of the stack : ' , MemAvail : 5 ) ;
-
- END .