Главная страница
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.048 c
2-1146931088
Mr tray
2006-05-06 19:58
2006.06.04
Убрать application с таскбара насовсем


2-1148114661
BAngel
2006-05-20 12:44
2006.06.04
Файлы


15-1146739931
Pazitron_Brain
2006-05-04 14:52
2006.06.04
Что нужно, чтобы запустить IntraWeb приложение?


2-1147939972
elena_pp
2006-05-18 12:12
2006.06.04
Как узнать и записать версию exe-ника в строковую переменную?


4-1142384579
GRAVIX
2006-03-15 04:02
2006.06.04
Работа с реестром на чистом WINAPI