![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как мне перемешать последовательность (больше 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?