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

Вниз

Вопрос про массив   Найти похожие ветки 

 
zamkom ©   (2004-02-11 15:04) [0]

Ув. масстера. Вопрос такой: Есть код
var
BlockStrok : Array [0..10000] of string;
begin
For i:=0 to 10000 do
... Здесь заполняется массив;

А вот здесь надо найти из всего этого массива одну строку удовлетворяющую условию.
Конечно можно через For перебрать все строки и каждую сравнить, но может быть можно как нибудь иначе решить эту проблему.


 
VLAD-MAL   (2004-02-11 15:05) [1]

Используй TStringList с включенной сортировкой. Там в этом случае автоматически задействуется бинарный поиск. Жуть как быстро.


 
Семен Сорокин ©   (2004-02-11 15:06) [2]

а проверять на условие нельзя когда заносишь в массив данные? тогда заново пробегать не надо будет.


 
Тимохов ©   (2004-02-11 15:10) [3]


> zamkom © (11.02.04 15:04)

Если тебе надо всего один раз найти строку (т.е. не многократно) - ищи перебором и не одумляйся.
Если операция частая, то слушай 1 или 2.


 
zamkom ©   (2004-02-11 15:11) [4]

Хорошо попробую с [1], но грустно...


 
Тимохов ©   (2004-02-11 15:12) [5]


> но грустно...

Работать всегда тяжел... :)))))

Поизучай еще хеш функции, также полезная и быстрая весч.


 
VLAD-MAL   (2004-02-11 15:16) [6]

Ага, хэш, он на TStringList грустит.
Как бы суицида не случилось...


 
TUser ©   (2004-02-11 16:21) [7]

В 10000 строчек бынарный поиск - это и так быстро. Так что хэш тута не нужен.


 
Тимохов ©   (2004-02-11 16:32) [8]


> В 10000 строчек бынарный поиск - это и так быстро. Так что
> хэш тута не нужен.

Это чтобы он понял, что бывает еще грустнее :))))
Вообще говоря, имхо, это сильно зависит от задачи. Если такой поиск нужен очень часто (раз та 1000000 подряд), то хорошый хеш тут не заменим.


 
Alex Konshin ©   (2004-02-12 02:51) [9]

А тебе действительно нужен массив?
В зависимости от ответа посмотри на юниты AVLTrees и Arrays на моем сайте http://home.earthlink.net/~akonshin/


 
Miwa ©   (2004-02-12 05:21) [10]

А чего собственно от TStringList"а грустить - вот чего не пойму.


 
Alex Konshin ©   (2004-02-12 06:06) [11]

Задачи они разные бывают. Вполне возможно, что сортировать нельзя.



Страницы: 1 вся ветка

Текущий архив: 2004.02.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.042 c
1-80018
smu
2004-02-13 08:43
2004.02.25
Как сделать диалог закрытия программы?


6-80053
Alex-11111
2003-12-19 04:15
2004.02.25
Delphi 7 idpop3


6-80056
FireMan_Alexey
2003-12-19 09:28
2004.02.25
Как узнать маску подсети?


1-79890
ruslan_as
2004-02-10 11:03
2004.02.25
Как DateEdit заставить открывать нужный мне месяц


14-80181
тихий вовочка
2004-01-31 15:44
2004.02.25
Как стать сисадмином?