Главная страница
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.043 c
6-1138710014
Stanislav
2006-01-31 15:20
2006.06.04
Пинг Свичей


15-1147070109
Nic
2006-05-08 10:35
2006.06.04
Задача со строками


6-1137435217
guitarist
2006-01-16 21:13
2006.06.04
Hyperterminal


15-1147192434
ArtemESC
2006-05-09 20:33
2006.06.04
Что нехватает современным 3D мирам ...


15-1146559507
sts55555
2006-05-02 12:45
2006.06.04
Что будет с Delphi и с нами?