12/07/14 22:27:17.73 .net
>>682
BEGIN{
QMAX=3
QTopPos=0;QTailPos=0;QNum=0;
deQ();
enQ("1");deQ();
enQ("a");enQ("b");enQ("c");enQ("x");deQ();deQ();deQ();deQ();
}
function enQ(PushVal){
if (QNum+1 > QMAX){print "おなかいっぱい"; return;}
nextPos = (QTopPos+1) % QMAX;
queue[QTopPos] = PushVal;
QTopPos=nextPosQNum++;
}
function deQ(){
if (QNum < 1){print "からっぽ"; return}
QNum--; TailVal=queue[QTailPos]
QTailPos = (QTailPos +1) % QMAX;
print TailVal;
return TailVal;
}