Показать сообщение отдельно
  #1  
Старый 12.12.2009, 18:27
ХодячийБаг ХодячийБаг вне форума
Прохожий
 
Регистрация: 12.12.2009
Сообщения: 8
Репутация: 10
Восклицание Сортировка в динамической памяти

Помогите найти ошибку. Написал на паскале небольшой код.

Смысл в том чтобы сортировать двунаправленное кольцо, никак не получается. Вот мой код:

Код:
type
dat = integer;
colob=^obd;
obd = record
         ri,le: colob; // ri - укзатель на правый объект, le - на левый соответственно
         d: dat; // данное
         end;

...
var
b,e,q,ql: colob;
x: dat;
...
b:=nil;
e:=nil;
checkeof := true;
while not eof do
begin
 read(x);
 q:=b;
 while (q<>b) or (x<q^.d) do
 begin
   if x<=q^.d then
   begin
    ql:=q;
    q:=q^.ri;
   end;
 inkol(b,e,ql,x); // inkol - процедура добавления значения x слева от адреса ql. b,e - характеристика кольца (начало, конец), x данное, которое вводим.
 end;
end;

вероятно while циклится.. Ошибка "Runtime Error" вылезает после исполнения.

Помогите пожалуйста, заранее спасибо. (Язык Pascal)

p.s. сортировку производить при вводе входного потока
Ответить с цитированием