12/07/21 23:12:03.74 .net
>>688
BEGIN{
QMAX=9007199254740991
QTopPos=QTailPos=QNum=0;
hitTop=0;
A[++z]="hoge";
A[++z]="1 2 3 4 5";
A[++z]="fuga";
A[0]=z;
for(i=1;i<=A[0];i++){
p=1;
while(match(substr(A[i],p),/[0-9]+/)){
p+=RSTART-1;
enQ(substr(A[i],p,RLENGTH));
p+=RLENGTH;
}
if(QNum>0){
while(QNum && hitTop<i)A[++hitTop]=deQ();
}else{
delete A[i];
}
};
if(QNum>0) while(QNum)A[++A[0]]=deQ();
for(z=1;z<=A[0];z++)print "A[" z "]:" A[z];
}