Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.12.30;
Скачать: [xml.tar.bz2];

Вниз

быстрая выборка из кучи   Найти похожие ветки 

 
brother   (2007-12-07 11:44) [0]

Приветствую!
Есть такой вопрос: есть массив arr:array[0..10000] of pchar
длина pchar =10 байт.

как организовать БЫСТРЫЙ поиск n строчки содержащейся в массиве?
Перебором долго, других идей пока не нашел...
буду благодарен за любую информацию...


 
Сергей М. ©   (2007-12-07 11:47) [1]


> других идей пока не нашел


И не найдешь.
В данной ситуации только перебор и ничто более.


 
Anatoly Podgoretsky ©   (2007-12-07 12:02) [2]

> brother  (07.12.2007 11:44:00)  [0]

Отсортировать массив по содержимому строк, тогда можно будет использовать быстрые методы поиска.


 
brother   (2007-12-07 12:05) [3]

спасибо, но сортировать 50000 строк не долговато ли?


 
Сергей М. ©   (2007-12-07 12:06) [4]


> brother


А еще лучше выкинуть нафих этот массив и использовать TStringList - там и сортировочка (см.[2]) встроенная имеется и методы поиска готовые.


 
brother   (2007-12-07 12:06) [5]

с БД выборка будет быстрее?


 
Anatoly Podgoretsky ©   (2007-12-07 12:07) [6]

> brother  (07.12.2007 12:05:03)  [3]

Тогда забей


 
Сергей М. ©   (2007-12-07 12:08) [7]


> сортировать 50000 строк не долговато ли?


А не многого ли ты хочешь сразу ?)
Тебе, вишь ли, и поиск быстрый подавай и чтобы без сортировки)..


 
Anatoly Podgoretsky ©   (2007-12-07 12:08) [8]

Кстати а как ты умудрился без AV поместить 50000 элементов в массив array[0..10000] ?


 
Сергей М. ©   (2007-12-07 12:09) [9]


> с БД выборка будет быстрее?


И не надейся даже - без сортировки будет такая же, только еще тягомотней


 
brother   (2007-12-07 12:10) [10]

TStringList поддерживает pchar?
или предлагаете преобразовывать символ на подобие #13 в стринг?
не гемморой?


 
brother   (2007-12-07 12:14) [11]

Anatoly Podgoretsky ©   (07.12.07 12:08) [8]

Кстати а как ты умудрился без AV поместить 50000 элементов в массив array[0..10000] ?

         10000, 50000 это например)

> с БД выборка будет быстрее?
И не надейся даже - без сортировки будет такая же, только еще тягомотней
        а причем тут сортировка в БД??? select и все...


 
Сергей М. ©   (2007-12-07 12:17) [12]


> TStringList поддерживает pchar?


А тебе какая разница, поддерживает или не поддерживает ? Строка она и в Африке строка)

Откуда у тебя pchar"ы взялись изначально ? Почему не string"и ?


 
Сергей М. ©   (2007-12-07 12:19) [13]


> причем тут сортировка в БД??? select и все


А индексы - они что, с Луны сваливаются ? Они и есть рез-ты сортировки, которые явно или неявно участвуют в этом самом "select и все".

А без индексов такая БД - что мертвому припарка)


 
brother   (2007-12-07 12:20) [14]

Сергей М. ©   (07.12.07 12:17) [12]

> TStringList поддерживает pchar?

А тебе какая разница, поддерживает или не поддерживает ? Строка она и в Африке строка)

Откуда у тебя pchar"ы взялись изначально ? Почему не string"и ?

     именно pchar мне все символы нужны (непечатные тоже), читаю из файла) а байт и в африка байт)


 
umbra ©   (2007-12-07 12:22) [15]


> или предлагаете преобразовывать символ на подобие #13 в
> стринг?

а что мешает? туда можно любой символ засунуть


 
brother   (2007-12-07 12:23) [16]

Сергей М. ©   (07.12.07 12:19) [13]

> причем тут сортировка в БД??? select и все

А индексы - они что, с Луны сваливаются ? Они и есть рез-ты сортировки, которые явно или неявно участвуют в этом самом "select и все".

А без индексов такая БД - что мертвому припарка)

    Индексы это естественно, но может выборка из БД быстрее будет, нежели я сам ее придумаю... люди СУБД уже давно написали может и за скорость поборолись?)


 
brother   (2007-12-07 12:24) [17]

umbra ©   (07.12.07 12:22) [15]

> или предлагаете преобразовывать символ на подобие #13 в
> стринг?

а что мешает? туда можно любой символ засунуть

    Ничто не мешает, но может есть более цивилизованные методы решения...


 
Сергей М. ©   (2007-12-07 12:25) [18]


> непечатные тоже


Если #0 не входит в список символов, которые ты причисляешь к "непечатным", то TStringList успешно работает и с "непечатными".

А если входит, то причем здесь pchar ? Почему не PByte ?


 
brother   (2007-12-07 12:28) [19]

Сергей М. ©   (07.12.07 12:25) [18]

> непечатные тоже

Если #0 не входит в список символов, которые ты причисляешь к "непечатным", то TStringList успешно работает и с "непечатными".

А если входит, то причем здесь pchar ? Почему не PByte ?

    Нужен полный диапазон byte (#0..#255)


 
Anatoly Podgoretsky ©   (2007-12-07 12:28) [20]


> именно pchar мне все символы нужны (непечатные тоже), читаю
> из файла) а байт и в африка байт)

Ты видимо не знаешь, что string полностью совместим с PChar и использования массива PChar с ручным выделением памяти под содержимое, верный путь к тормозам и ошибкам в программе.
Освой для себя строки, тогда что то сможешь программировать.


 
Anatoly Podgoretsky ©   (2007-12-07 12:30) [21]


> Нужен полный диапазон byte (#0..#255)

Тогда PChar исключен, неприменим.


 
brother   (2007-12-07 12:31) [22]

Anatoly Podgoretsky ©   (07.12.07 12:28) [20]

> именно pchar мне все символы нужны (непечатные тоже), читаю
> из файла) а байт и в африка байт)

Ты видимо не знаешь, что string полностью совместим с PChar и использования массива PChar с ручным выделением памяти под содержимое, верный путь к тормозам и ошибкам в программе.
Освой для себя строки, тогда что то сможешь программировать.

    Спасибо, но со строками я уже знаком) и кой чего программировать могу. Не надо ставить людей недоучками если они не знают чего - либо! ок?)
А информацию приму к сведению... Не обилел?)


 
Anatoly Podgoretsky ©   (2007-12-07 12:32) [23]


> А если входит, то причем здесь pchar ? Почему не PByte ?
>
>
>     Нужен полный диапазон byte (#0..#255)

Открываю большой программисткий секрет, мощность byte 0-255


 
umbra ©   (2007-12-07 12:33) [24]


>      именно pchar мне все символы нужны (непечатные тоже),
>  читаю из файла) а байт и в африка байт)

в string может быть все что угодно (даже #0) и пока вы не пытаетесь работать со строкой как с PChar или показывать ее в Listbox или Memo, то никаких граблей не будет


 
brother   (2007-12-07 12:34) [25]

Anatoly Podgoretsky ©   (07.12.07 12:32) [23]

> А если входит, то причем здесь pchar ? Почему не PByte ?
>
>
>     Нужен полный диапазон byte (#0..#255)

Открываю большой программисткий секрет, мощность byte 0-255
    Я в курсе) # автоматически подставил... опятьже к вам [20] не надо подтверждать...)


 
Сергей М. ©   (2007-12-07 12:37) [26]


>   Нужен полный диапазон byte (#0..#255)


Ну так и используй тип PByte - это же очевидно !
С какого перепугу у тебя PChar-то объявился ?)


 
brother   (2007-12-07 12:39) [27]

Ладно, всем спасибо!

O====================O
|ТЕМУ МОЖНО ЗАКРЫВАТЬ!|
O====================O


 
Anatoly Podgoretsky ©   (2007-12-07 12:51) [28]

> brother  (07.12.2007 12:34:25)  [25]

Все ты в курсе, только по коду этого не видно.



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

Форум: "Начинающим";
Текущий архив: 2007.12.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.006 c
15-1196334922
xayam
2007-11-29 14:15
2007.12.30
помогите перевести с английского


15-1196155571
limp
2007-11-27 12:26
2007.12.30
Стоимость разработки службы знакомств


1-1192005243
wild_arg
2007-10-10 12:34
2007.12.30
Хелп в проектах D7 и D10(BDS)


2-1196754851
Kolan
2007-12-04 10:54
2007.12.30
Ошибка Integer Owerflow — никогда не сталкивался.


2-1195211860
Yurij-7
2007-11-16 14:17
2007.12.30
Помогите с запросом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский