Извиняюсь, неправильно написал..
вот исправил
Код:
while not eof do
begin
t:= nil;
q:=B;
read(x); // получаем число
if b = nil then // смотрим есть ли элементы в очереди
inkol(b,e,nil,x) // если нет то добавляем
else
while q<> E do // если есть ищем максимальное (t указатель на максимальное)
begin
if q^.d > t^.d then
t := q;
q:=q^.ri;
end;
inkol(b,e,t,x); // вводим за максимальным
end;