Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.04;
Скачать: CL | DM;

Вниз

Вопросы по розрядной сортировке   Найти похожие ветки 

 
Alien1769 ©   (2006-05-11 17:08) [0]

Хотелось бы задать вопросы Роману Игнатьеву, автору статьи по разрядной сортировке. Очень хорошая статейка, пытался отправить ему вопросы на почтовый ящик, указанный на ссылке его статьи но ответа не получил, возможно он его сменил. Не подскажите новый ?


 
Romkin ©   (2006-05-11 17:18) [1]

Не сменил, я просто редко его проверяю, особенно по праздникам :)
А что такое "пустой элемент"?
Программу, естественно, я тестировал. Все должно работать.
Если ты нашел ошибку - дай тестовый случай.


 
Romkin ©   (2006-05-11 17:19) [2]

PS. Отсутствие ошибок в любой моей программе гарантировать не могу ;)
Скорее, могу гарантировать их присутствие


 
Alien1769 ©   (2006-05-11 17:34) [3]


> Программу, естественно, я тестировал. Все должно работать.
>  
> Если ты нашел ошибку - дай тестовый случай.


Предварительно готовится массив Bucket по принципу
Bucket[0].Key:=255;Bucket[1].Key:=254;Bucket[2].Key:=253;
...... Bucket[254].Key:=1;Bucket[255].Key:=0;
У меня возникает ошибка зацикливания после Bucket[128].
Возможно я не правильно понимаю алгоритм ?


 
Romkin ©   (2006-05-11 17:56) [4]

При чем здесь массив? Подаваться должен однонаправленный список!
Например, так:
var
 FList: PDList;

procedure RandomFill;
var
 i, j: integer;
 elem: PDList;
 FirstElem: TDList;
 ListTail: PDList;
 Key: LongWord;
begin
 ListTail := @FirstElem;
 for i := 1 to 5000 do
 begin
   New(elem);
   ListTail^.Next := elem;
   ListTail := elem;
   Key := 0;
   for j := 0 to 3 do
     Key := Key shl 8 or random(256);
   elem^.Key := Key;
 end;
 ListTail^.Next := nil;
 FList := FirstElem.Next;
end;

И если все нормально, в частности, последний next = nil, зацикливания просто не может быть. Единственный цикл с произвольным количеством проходов (repeat) останавливается при нахождении nil. Все остальные циклы - с фиксированным количеством проходов.


 
Alien1769 ©   (2006-05-11 18:11) [5]


> При чем здесь массив? Подаваться должен однонаправленный
> список!


Большое Спасибо, а то я уже два мучаюсь !!



Страницы: 1 вся ветка

Текущий архив: 2006.06.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.03 c
3-1144917116
July
2006-04-13 12:31
2006.06.04
вариации с транзакциями


15-1147236828
Ega23
2006-05-10 08:53
2006.06.04
С Днём рождения! 10 мая


15-1147352935
Alien1769
2006-05-11 17:08
2006.06.04
Вопросы по розрядной сортировке


2-1147699621
Ironman83
2006-05-15 17:27
2006.06.04
Выборки через TIBDataset


3-1144408053
sia
2006-04-07 15:07
2006.06.04
delphi 7 & BDE 4