33 lines
520 B
Awk
33 lines
520 B
Awk
#!/usr/bin/awk -f
|
|
|
|
BEGIN {
|
|
delete q
|
|
print "empty? " emptyP()
|
|
print "push " push("a")
|
|
print "push " push("b")
|
|
print "empty? " emptyP()
|
|
print "pop " pop()
|
|
print "pop " pop()
|
|
print "empty? " emptyP()
|
|
print "pop " pop()
|
|
}
|
|
|
|
function push(n) {
|
|
q[length(q)+1] = n
|
|
return n
|
|
}
|
|
|
|
function pop() {
|
|
if (emptyP()) {
|
|
print "Popping from empty queue."
|
|
exit
|
|
}
|
|
r = q[length(q)]
|
|
delete q[length(q)]
|
|
return r
|
|
}
|
|
|
|
function emptyP() {
|
|
return length(q) == 0
|
|
}
|