Форум: "Начинающим";
Текущий архив: 2011.10.30;
Скачать: [xml.tar.bz2];
Внизперемешать стринглист Найти похожие ветки
← →
Gu (2011-07-11 11:00) [0]нет ли у стринглиста какой-нить функции, которая бы перемешивала все итемы случайным образом? или алгоритма какого? пока только сделал:
1. добавляем ко всем итемам в начало FormatFloat("0000", random(9999))
2. выполняем stringlist.sort
3. удаляем у всех итемов 4 первых символа
получаем довольно неплохо перемешаный стринглист
← →
Gu (2011-07-11 11:02) [1]может как то проще можно?
← →
Anatoly Podgoretsky © (2011-07-11 11:11) [2]> Gu (11.07.2011 11:00:00) [0]
Ага и функция удаления четных и нечетных элементов, и функция хорового
пения.
← →
Юрий Зотов © (2011-07-11 11:16) [3]Пишем функцию:
function CompareItems(List: TStringList; Index1, Index2: Integer): Integer;
begin
Result := Random(3) - 1
end;
Затем вызываем метод:
List.CustomSort(CompareItems);
Не факт, что этот способ лучше, но он должен быть быстрее. Надо пробовать и сравнивать.
← →
Dimka Maslov © (2011-07-11 12:34) [4]Вызываем Exchange много много раз, определяя индексы при помощи random
← →
MBo © (2011-07-11 14:23) [5]http://en.wikipedia.org/wiki/Fisher–Yates_shuffle
← →
Gu (2011-07-12 06:55) [6]спасибо
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.10.30;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c