Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.018 c
14-80135
IIStan
2004-02-02 01:25
2004.02.25
Где можно купить неонувую лампу?


1-79759
Rentgen
2004-02-09 18:25
2004.02.25
Как дописать в файл?


7-80324
big_bugzy
2003-12-04 14:53
2004.02.25
Как получить список всех DialUp соеденений которые есть на компе?


1-79904
ded
2004-02-09 20:54
2004.02.25
Mini проги


1-79965
_Прохожий
2004-02-13 15:51
2004.02.25
Получение иконки по расширению файла




   Наверх