Re: set.find() - быстрый?
От: jazzer Россия Skype: enerjazzer
Дата: 08.11.07 03:25
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здраствуйте.

А>Мне нужно где то хранить строки и потом проверять, есть ли такая строка в этом хранилище.
А>set.find() как работает, перебирает по порядку значения или по алфавиту? может стоит что-то своё написать из-за тормознутости сета?

сложность поиска логарифмическая.

А>и еще вот вопрос, как лучше сделать,

А>так:
А>
А>set<string> vec;
А>vec.insert("abc");

А>if (vec.find("abc") != vec.end()) {
А>    cout << "true\n";
А>}
А>

А>или так:
А>set<string> vec;
А>vec.insert("abc");

А>if (*(vec.find("abc")) == "abc") {

А> cout << "true\n";
А>}
А>[/ccode]
А>?
А>заранее спасибо.

первое.
второе просто неправильное, так как есть вероятность разыменовать итератор end, что запрещено.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.