Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
1-1270103659
Kolan
2010-04-01 10:34
2011.10.30
Constant expression violates subrange bounds (nrComm)


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


2-1310131029
set666
2011-07-08 17:17
2011.10.30
Данные в графическом виде.


15-1309440076
SQLEXPRESS
2011-06-30 17:21
2011.10.30
Сортировка


15-1309877734
oleg1963lora
2011-07-05 18:55
2011.10.30
Как назвать UltraISO, Daemon и т.д. общим словом?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский