RosettaCodeData/Task/Queue-Definition/ERRE/queue-definition.erre
2016-12-05 23:44:36 +01:00

45 lines
710 B
Text

PROGRAM CLASS_DEMO
CLASS QUEUE
LOCAL SP
LOCAL DIM STACK[100]
FUNCTION ISEMPTY()
ISEMPTY=(SP=0)
END FUNCTION
PROCEDURE INIT
SP=0
END PROCEDURE
PROCEDURE POP(->XX)
XX=STACK[SP]
SP=SP-1
END PROCEDURE
PROCEDURE PUSH(XX)
SP=SP+1
STACK[SP]=XX
END PROCEDURE
END CLASS
NEW PILA:QUEUE
BEGIN
PILA_INIT ! constructor
FOR N=1 TO 4 DO ! push 4 numbers
PRINT("Push";N)
PILA_PUSH(N)
END FOR
FOR I=1 TO 5 DO ! pop 5 numbers
IF NOT PILA_ISEMPTY() THEN
PILA_POP(->N)
PRINT("Pop";N)
ELSE
PRINT("Queue is empty!")
END IF
END FOR
PRINT("* End *")
END PROGRAM