Stack: Difference between revisions

Content deleted Content added
Mmphosis (talk | contribs)
No edit summary
Line 145: Line 145:
<pre>
<pre>
("saw", "I", "cat", "a", "it", "Was")
("saw", "I", "cat", "a", "it", "Was")
</pre>

=={{header|Applesoft BASIC}}==
<lang basic>100 DIM STACK$(1000)
110 DATA "(2*A)","PI","","TO BE OR","NOT TO BE"
120 FOR I = 1 TO 5
130 READ ELEMENT$
140 GOSUB 500_PUSH
150 NEXT
200 GOSUB 400 POP AND PRINT
210 GOSUB 300_EMPTY AND PRINT
220 FOR I = 1 TO 4
230 GOSUB 400 POP AND PRINT
240 NEXT
250 GOSUB 300_EMPTY AND PRINT
260 END
300 GOSUB 700_EMPTY
310 PRINT "STACK IS ";
320 IF NOT EMPTY THEN PRINT "NOT ";
330 PRINT "EMPTY"
400 GOSUB 600 POP
410 PRINT ELEMENT$
420 RETURN
500 REM
510 REM PUSH
520 REM
530 LET STACK$(SP) = ELEMENT$
540 LET SP = SP + 1
550 RETURN
600 REM
610 REM POP
620 REM
630 IF SP THEN SP = SP - 1
640 LET ELEMENT$ = STACK$(SP)
650 LET STACK$(SP) = ""
660 RETURN
700 REM
710 REM EMPTY
720 REM
730 LET EMPTY = SP = 0
740 RETURN
</lang>

{{out}}
<pre>
NOT TO BE
STACK IS NOT EMPTY
TO BE OR

PI
(2*A)

STACK IS EMPTY
</pre>
</pre>