|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.08.2009, 15:46 | #1 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Как быстро узнать исть ли данная строка в массиве из строк?
Собственно есть переменная
S:String; и массив Mas:Array[0..4] of String = ('String0','String1','String2','Str ing3',String4'); Можно ли без цикла (без перебора) узнать, существует ли элемент массива (не важен его номер, выясняется сам факт), равный S? То есть по сти, мне необходимо узнать, можно ли это: Код:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
26.08.2009, 16:14 | #2 | |
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
Цитата:
Твой вопрос эквивалентен такому: Как узнать значение строки (или переменной) не обращаясь к ней? Ответ: никак. В твоем случае необходимо перебрать все строки в цикле.
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". |
|
26.08.2009, 16:16 | #3 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
По-любому нужно сравнивать все элементы.
Но если массив отсортирован, то можно двоичный поиск применить.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
26.08.2009, 16:23 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А чем цикл не устроил?
I'm learning to live...
|
26.08.2009, 16:45 | #5 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Да в принципе всем, только довольно таки медленно. Я просто подумал, а нельзя ли тут как-нибудь in прикрутить?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
26.08.2009, 17:00 | #6 | |
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
Цитата:
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". |
|
26.08.2009, 17:03 | #7 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Цитата:
Можно еще в стринглист загнать и через IndexOf проверить. Но везде нужны циклы )
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|
26.08.2009, 17:03 | #8 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Придется циклом.... А как не хотелось Или намалевать собственную функцию, чтоб меньше писанины было...
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
27.08.2009, 03:16 | #9 |
Форумчанин
Регистрация: 16.04.2009
Сообщений: 247
|
Но ведь можно использовать дерево. Что-то вроде
Код:
ababaca acccfg aenfg bbbb Тогда у нас есть структуры с 'a' и c 'b'. Структура с 'a' ссылается на структуры с 'b', 'c' и 'e'. Структура с 'b' ссылается на структуру с 'b'. Ну и так далее. Для каждого вида строк храним количество экземпляров. С массивом как таковым конечно не получится, но в принципе-то возможно. Можно создать класс, имитирующий массив и делающий то, что я описал. Это обеспечивает более быстрый поиск. Последний раз редактировалось megachuhancer; 27.08.2009 в 04:44. |
27.08.2009, 08:53 | #10 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как узнать состоит ли строка из одных числовых символов | DarkEvil | Общие вопросы Delphi | 12 | 13.08.2009 08:44 |
проверить, содержится ли строка в массиве | aurora_87 | Общие вопросы C/C++ | 6 | 28.12.2008 01:25 |
Как узнать существует ли в БД нужная строка? | kiber0net0 | БД в Delphi | 1 | 02.09.2008 21:31 |
Масив строк => строка | Rio309 | Помощь студентам | 4 | 22.03.2008 15:35 |
как в memo выводит полный путь к файлу? Файлом является данная программа. | Alar | Компоненты Delphi | 0 | 29.10.2006 23:24 |