Вниз
Скачать: 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.017 c
14-80158
syte_ser78
2004-01-27 17:24
2004.02.25
Новая ОС от микрософта


1-79863
viksoft
2004-02-10 16:46
2004.02.25
Узнать имя открытого в Worde документа


1-79906
Budy
2004-02-09 15:20
2004.02.25
Align у TEdit


1-79804
Silver_
2004-02-10 22:41
2004.02.25
печатаю чрез ASCII


14-80131
il
2004-02-02 15:03
2004.02.25
Где найти бесплатный web-сервис, публикующий курсы валют?




   Наверх