![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
быстрая выборка из кучи
brother © (2007-12-07 11:44:00)Приветствую!
Есть такой вопрос: есть массив arr:array[0..10000] of pchar
длина pchar =10 байт.
как организовать БЫСТРЫЙ поиск n строчки содержащейся в массиве?
Перебором долго, других идей пока не нашел...
буду благодарен за любую информацию...
Anatoly Podgoretsky (2007-12-07 12:51:00) [1]> brother (07.12.2007 12:34:25) [25]
Все ты в курсе, только по коду этого не видно.
brother (2007-12-07 12:39:00) [2]Ладно, всем спасибо!
O====================O
|ТЕМУ МОЖНО ЗАКРЫВАТЬ!|
O====================O
Сергей М. (2007-12-07 12:37:00) [3]
> Нужен полный диапазон byte (#0..#255)
Ну так и используй тип PByte - это же очевидно !
С какого перепугу у тебя PChar-то объявился ?)
brother (2007-12-07 12:34:00) [4]Anatoly Podgoretsky © (07.12.07 12:32) [23]
> А если входит, то причем здесь pchar ? Почему не PByte ?
>
>
> Нужен полный диапазон byte (#0..#255)
Открываю большой программисткий секрет, мощность byte 0-255
Я в курсе) # автоматически подставил... опятьже к вам [20] не надо подтверждать...)
umbra (2007-12-07 12:33:00) [5]
> именно pchar мне все символы нужны (непечатные тоже),
> читаю из файла) а байт и в африка байт)
в string может быть все что угодно (даже #0) и пока вы не пытаетесь работать со строкой как с PChar или показывать ее в Listbox или Memo, то никаких граблей не будет
Anatoly Podgoretsky (2007-12-07 12:32:00) [6]
> А если входит, то причем здесь pchar ? Почему не PByte ?
>
>
> Нужен полный диапазон byte (#0..#255)
Открываю большой программисткий секрет, мощность byte 0-255
brother (2007-12-07 12:31:00) [7]Anatoly Podgoretsky © (07.12.07 12:28) [20]
> именно pchar мне все символы нужны (непечатные тоже), читаю
> из файла) а байт и в африка байт)
Ты видимо не знаешь, что string полностью совместим с PChar и использования массива PChar с ручным выделением памяти под содержимое, верный путь к тормозам и ошибкам в программе.
Освой для себя строки, тогда что то сможешь программировать.
Спасибо, но со строками я уже знаком) и кой чего программировать могу. Не надо ставить людей недоучками если они не знают чего - либо! ок?)
А информацию приму к сведению... Не обилел?)
Anatoly Podgoretsky (2007-12-07 12:30:00) [8]
> Нужен полный диапазон byte (#0..#255)
Тогда PChar исключен, неприменим.
Anatoly Podgoretsky (2007-12-07 12:28:00) [9]
> именно pchar мне все символы нужны (непечатные тоже), читаю
> из файла) а байт и в африка байт)
Ты видимо не знаешь, что string полностью совместим с PChar и использования массива PChar с ручным выделением памяти под содержимое, верный путь к тормозам и ошибкам в программе.
Освой для себя строки, тогда что то сможешь программировать.
brother (2007-12-07 12:28:00) [10]Сергей М. © (07.12.07 12:25) [18]
> непечатные тоже
Если #0 не входит в список символов, которые ты причисляешь к "непечатным", то TStringList успешно работает и с "непечатными".
А если входит, то причем здесь pchar ? Почему не PByte ?
Нужен полный диапазон byte (#0..#255)
Сергей М. (2007-12-07 12:25:00) [11]
> непечатные тоже
Если #0 не входит в список символов, которые ты причисляешь к "непечатным", то TStringList успешно работает и с "непечатными".
А если входит, то причем здесь pchar ? Почему не PByte ?
brother (2007-12-07 12:24:00) [12]umbra © (07.12.07 12:22) [15]
> или предлагаете преобразовывать символ на подобие #13 в
> стринг?
а что мешает? туда можно любой символ засунуть
Ничто не мешает, но может есть более цивилизованные методы решения...
brother (2007-12-07 12:23:00) [13]Сергей М. © (07.12.07 12:19) [13]
> причем тут сортировка в БД??? select и все
А индексы - они что, с Луны сваливаются ? Они и есть рез-ты сортировки, которые явно или неявно участвуют в этом самом "select и все".
А без индексов такая БД - что мертвому припарка)
Индексы это естественно, но может выборка из БД быстрее будет, нежели я сам ее придумаю... люди СУБД уже давно написали может и за скорость поборолись?)
umbra (2007-12-07 12:22:00) [14]
> или предлагаете преобразовывать символ на подобие #13 в
> стринг?
а что мешает? туда можно любой символ засунуть
brother (2007-12-07 12:20:00) [15]Сергей М. © (07.12.07 12:17) [12]
> TStringList поддерживает pchar?
А тебе какая разница, поддерживает или не поддерживает ? Строка она и в Африке строка)
Откуда у тебя pchar'ы взялись изначально ? Почему не string'и ?
именно pchar мне все символы нужны (непечатные тоже), читаю из файла) а байт и в африка байт)
Сергей М. (2007-12-07 12:19:00) [16]
> причем тут сортировка в БД??? select и все
А индексы - они что, с Луны сваливаются ? Они и есть рез-ты сортировки, которые явно или неявно участвуют в этом самом "select и все".
А без индексов такая БД - что мертвому припарка)
Сергей М. (2007-12-07 12:17:00) [17]
> TStringList поддерживает pchar?
А тебе какая разница, поддерживает или не поддерживает ? Строка она и в Африке строка)
Откуда у тебя pchar'ы взялись изначально ? Почему не string'и ?
brother (2007-12-07 12:14:00) [18]Anatoly Podgoretsky © (07.12.07 12:08) [8]
Кстати а как ты умудрился без AV поместить 50000 элементов в массив array[0..10000] ?
10000, 50000 это например)
> с БД выборка будет быстрее?
И не надейся даже - без сортировки будет такая же, только еще тягомотней
а причем тут сортировка в БД??? select и все...
brother (2007-12-07 12:10:00) [19]TStringList поддерживает pchar?
или предлагаете преобразовывать символ на подобие #13 в стринг?
не гемморой?
Сергей М. (2007-12-07 12:09:00) [20]
> с БД выборка будет быстрее?
И не надейся даже - без сортировки будет такая же, только еще тягомотней