![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Annuta |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 3.10.2006 Где: Dubna Репутация: нет Всего: 1 |
Народ подскажите мне пожаста, у меня есть массив строк типа CStringArray ... когда в этом массиве более 1000 строчек - прога начинает тормозить... я слышала что использование STL может разрешить эту проблему ! Это так ???
Но я в STL ни бум бум!!! Как это сделать...??? Помогите мне переписать кусочек кода... вот мой нынешний код.
спасибо... --------------------
Программист - это комбинация лени и логики ! |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
копайте в сторону hash-таблиц, либо map'ов, многое обсуждалось, посмотрите здесь, например: Самый эффективный алгоритм поиска
|
|||
|
||||
ZC1989 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 468 Регистрация: 17.7.2006 Где: Нижний Новгород; Россия Репутация: нет Всего: 1 |
если простой пример на STL то получится как-то так
Добавлено @ 11:54 список будет перебираться пока все эллменты не проверятся... ЗЫ: надеюсь прельна вопрос понял ![]() Это сообщение отредактировал(а) ZC1989 - 26.12.2006, 11:55 -------------------- озарение настанет позже, когда поймём больше... (Сo. Stigmata) |
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
|
|||
|
||||
Annuta |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 3.10.2006 Где: Dubna Репутация: нет Всего: 1 |
Спасибо за код
ZC1989, всё работает... только вот маленький вопросик.. а как мне добавить строчку в этот массивчик...?? и ещё.. это на самом деле работает быстрее чем обычный перебор ??? Что круче вектора или мапсы..??? спасибо... Это сообщение отредактировал(а) Annuta - 26.12.2006, 12:14 --------------------
Программист - это комбинация лени и логики ! |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
скорее всего нет, в вашем примере не видно существенного выигрыша по скорости поиска, а вопрос видимо был именно в этом. простой пример с map'ом, возможно следует сделать все по другому, но я не знаю какая ваша конечная цель, возможны опечатки ![]()
|
|||
|
||||
Annuta |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 3.10.2006 Где: Dubna Репутация: нет Всего: 1 |
Моя конечная цель сделать так, чтобы это перебиралось как можно быстрее... и не вешало всю мою прогу. --------------------
Программист - это комбинация лени и логики ! |
|||
|
||||
ZC1989 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 468 Регистрация: 17.7.2006 Где: Нижний Новгород; Россия Репутация: нет Всего: 1 |
zkv, было сказано что после 1000 строк тормоза начинаются, сомневаюсь что в моём примере это начнётся... да и find работает так же, только в функцию это засунуто
Это сообщение отредактировал(а) ZC1989 - 26.12.2006, 12:18 -------------------- озарение настанет позже, когда поймём больше... (Сo. Stigmata) |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
не буду спорить, потому как не помню в чем точно дело, но не так же. Поправьте меня меня пожалуйста если я ошибаюсь ![]() |
|||
|
||||
Annuta |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 3.10.2006 Где: Dubna Репутация: нет Всего: 1 |
ZC1989, как добавить строку в массив ??? У меня задача .. перебрать весь массив - если такая строка не встретилась - добавить её туда... Как ?
--------------------
Программист - это комбинация лени и логики ! |
|||
|
||||
Annuta |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 3.10.2006 Где: Dubna Репутация: нет Всего: 1 |
Народ!!! Помогите дописать добалвение !... плиз...
--------------------
Программист - это комбинация лени и логики ! |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
внимательней надо быть ![]() для вектора: для словаря: я догадываюсь, что вам наиболее подошел бы контейнер std::set<std::string>, там добавление insert(), если я не ошибаюсь, что вообще надо сделать то? |
|||
|
||||
Annuta |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 3.10.2006 Где: Dubna Репутация: нет Всего: 1 |
Сделать надо вот что... идёт поток... в потоке много строчек.. я выбираю все "уникальные" .. заношу их в массив .. (если их там ещё нет соотв) ... и сё... потом массив вывожу на экран.
.. я пробывала сделать.. так
и потом поиск совпадения...
и потом пытаюсь вставить но он ругается...
как написать чтобы он добавлял новую строку в конец списка... --------------------
Программист - это комбинация лени и логики ! |
||||||
|
|||||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
ваша задача решается так:
если я правильно понял задание ![]() |
|||
|
||||
Korman |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 12.9.2006 Где: г. Смоленск Репутация: нет Всего: нет |
Спасибо...
zkv, .. я ща попробую.. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |