Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.10.30;
Скачать: CL | DM;

Вниз

перемешать стринглист   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
2-1310328696
Gu
2011-07-11 00:11
2011.10.30
format строки числовых символов


15-1309527475
Chatnick
2011-07-01 17:37
2011.10.30
Ассоциация ICO-файла с программой.


15-1309090112
Думкин погрелец
2011-06-26 16:08
2011.10.30
Вот так бывает


15-1309724999
Юрий
2011-07-04 00:29
2011.10.30
С днем рождения ! 4 июля 2011 понедельник


2-1309973446
Pcrepair
2011-07-06 21:30
2011.10.30
МЫШЬ drag-drop в аналоге RAdmin