Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как мне перемешать последовательность (больше 256)


Norm Iridium ©   (2006-01-19 20:59:00) 

Как мне перемешать последовательность чисел, неповторяющихся, количество которых не ограничевается 256 элементами


Norm Iridium   (2006-01-23 18:56:00) [1]

А если более шустрый алгоритм?


Norm Iridium   (2006-01-23 18:55:00) [2]

~150 000 элементов. Это около 600 килобайт... Значит влезет ;-)


DiamondShark   (2006-01-23 18:30:00) [3]


> А сколько влезет в массив элементов?

Теоретически -- два гигабайта.
Практически -- сотня-другая мегабайт.

А сколько надо?


Norm Iridium   (2006-01-23 18:11:00) [4]

Спасибо за красивое решение.
А сколько влезет в массив элементов?


SergP   (2006-01-20 21:57:00) [5]

Наверное что-то типа:

for i:=high(myarray) dowmto 0 do
begin
 a:=random(i);
 b:=myarray[a];
 mmyarray[a]:=myarray[i];
 myarray[i]:=b;
end;


только причем здесь 256 - не пойму...


Vemer   (2006-01-20 21:41:00) [6]

Кто как умет. Например я все храню в базе данных.


Norm Iridium   (2006-01-20 20:06:00) [7]

И в чем же тогда это все хранить?


Ell   (2006-01-19 21:07:00) [8]

Тип переменной, определяющей количество, задай не byte, а, например, word, тогда будет до 65536.


Ell   (2006-01-19 21:02:00) [9]

А при чём тут ограничение 256?


Наверх

Титульная страница Поиск, карта сайта Написать письмо