|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.08.2009, 20:10 | #1 | |
Пользователь
Регистрация: 31.07.2009
Сообщений: 89
|
Как быстро перемешать строки?
Мне надо перемешать строки. Использовал следующий код.
Код: Цитата:
Не подскажете код, работающий быстрее или вообще другой метод перемешки? |
|
23.08.2009, 20:13 | #2 |
Форумчанин
Регистрация: 19.06.2009
Сообщений: 896
|
Вынеси Randomize из цикла... Randomize Нужно вызывать всего один раз.
|
23.08.2009, 20:16 | #3 |
Пользователь
Регистрация: 31.07.2009
Сообщений: 89
|
|
23.08.2009, 20:21 | #4 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 320
|
Не занимать время удаление строки. Кстати, у вас не "перемешка", т.е. не сортировка - просто случайные строки n раз копируете, некоторые строки продублируются, другие потеряются. Ищете по ключевым словам "случайная сортировка". гугль.
|
23.08.2009, 20:29 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Вавел из ГМТУ, +1
и ещё, неверно for g:=0 to p do цикл должен быть до richedit1.Lines.Count-1 да и с удалением - нехорошо. очень "долгая" операция... |
23.08.2009, 20:50 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
а вот перемешивание 500000 записей заняло около трёх секунд:
Код:
Последний раз редактировалось Serge_Bliznykov; 23.08.2009 в 20:58. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как быстро заригестрировать сайт в каталоге ... | krykov | Помощь студентам | 0 | 11.05.2009 22:48 |
MySql - перемешать варианты в базе | Shadow_Wind | PHP | 9 | 17.10.2008 09:55 |
Нужно найти папку быстро но как? | zotox | Помощь студентам | 3 | 21.09.2008 13:35 |
Как быстро переверннуть(отразить) изображение? | Paul Hindenburg | Мультимедиа в Delphi | 2 | 10.01.2008 12:51 |