Описание тега unordered-set

NoneStd::unordered_set - это ассоциативный контейнер, содержащий набор уникальных объектов. Поиск, вставка и удаление имеют среднюю постоянную сложность.
2 ответа

Как отсортировать элементы в корзине std::unordered_set?

После заполнения STL unordered_set я пытаюсь отсортировать элементы в каждом сегменте в соответствии с определенным порядком (несмотря на противоречивое имя контейнера). Это известный факт, что нельзя вносить изменения в элементы в контейнере, и, на…
15 фев '18 в 13:45
1 ответ

Почему сложность перефразирования hastable может быть квадратичной в худшем случае

Я не понимаю, почему сложность перефразирования hastable может быть квадратичной в худшем случае: http://www.cplusplus.com/reference/unordered_set/unordered_multiset/reserve/ Любая помощь будет оценена! Спасибо
10 авг '13 в 18:01
2 ответа

Как перебрать неупорядоченные пары внутри unordered_set?

Каков краткий способ перебора неупорядоченных пар элементов в unordered_set? (Так что порядок не имеет значения, и элементы должны отличаться) например, {1, 2, 3} => (1, 2) (2, 3) (1, 3) Мои первые попытки были чем-то вроде for (i = 0; i < size -…
25 янв '16 в 17:55
0 ответов

(неупорядоченный_) набор и наследование, хорошая практика?

Я работаю над личным проектом, который требует в какой-то момент управлять списком напитков. Я планировал управлять ими по имени, а не по идентификатору. Я сначала подумал, что это unordered_set, потому что мне не нужно, чтобы они сортировались по а…
07 сен '16 в 13:12
4 ответа

Для чего нужен KeyEqual в std::unordered_set?

Какова цель 3-го параметра KeyEqual в std::unordered_set? Разве хеш-уникальности недостаточно? template< class Key, class Hash = std::hash<Key>, class KeyEqual = std::equal_to<Key>, class Allocator = std::allocator<Key> > cla…
23 авг '16 в 17:33
2 ответа

Как инициализировать unorderd_set с помощью C++ (компилятор g++)?

Я наблюдаю следующую ошибку при попытке скомпилировать пример кода с g++ #include <iostream> #include <unordered_set> int main () { std::unordered_set<std::string> second ( {"red","green","blue"} ); // init list std::unordered_set&…
28 сен '14 в 09:02
2 ответа

Неупорядоченные вопросы

Кто-нибудь может объяснить, как работает неупорядоченный набор? Я также не уверен, как работает набор. Мой главный вопрос - какова эффективность его функции поиска. Например, каково общее время выполнения этого большого O? vector<int> theFirst…
01 июн '11 в 17:03
1 ответ

Хеш-функция unordered_set

Я использую std::unordered_set впервые и возник вопрос по хеш-функции. Насколько я понимаю, если вы не укажете хеш-функцию, по умолчанию будет использоваться std::hash. У меня есть член mySet в одном из моих классов: typedef std::unordered_set<My…
21 ноя '12 в 03:39
2 ответа

Как посчитать уникальные целые числа в unordered_set?

Вопрос, который может показаться тривиальным, но мне интересно, есть ли способ получить количество целых чисел, сделанных уникальными после того, как я преобразовал массив, содержащий повторяющиеся целые числа, в unordered_set. Чтобы было ясно, я на…
15 май '15 в 21:52
1 ответ

Сортировка по unordered_sets

У меня есть список элементов, которые создаются каждый кадр и должны быть отсортированы. Первая переменная-член каждого элемента для сортировки является unordered_set, Я переместил это в упорядоченный набор везде в системе, чтобы я мог отсортировать…
10 фев '14 в 15:54
5 ответов

Невозможно назначить нестатический элемент данных внутри функции-члена const

Я пытаюсь использовать std::unordered_set в качестве хеш-таблицы для хранения многих CreditCard"S. CreditCard и другой класс CardDatabase определяются следующим образом: class CreditCard { private: string cardHolder; unsigned long long cardNumber; i…
06 окт '16 в 01:58
2 ответа

Конструкторы std::unordered_set

Я смотрел на конструкторы unordered_set. Разве невозможно создать unordered_set с пользовательским экземпляром распределителя, БЕЗ установки количества блоков хеша? Я бы действительно не хотел связываться с деталями реализации, потому что мне нужен …
01 дек '10 в 16:39
3 ответа

std::string, приведенная к const char *, не может быть найдена в std::unordered_set<const char *>

Работая над проектом, я столкнулся со следующей проблемой, которую не мог объяснить себе. У меня есть следующая функция is_in_set(..), которая просто проверяет, находится ли cstring в unordered_set cstrings: bool is_in_set(const char * str, std::uno…
3 ответа

Поддержание порядка в неупорядоченном наборе после использования вставки C++

Как я могу сохранить порядок элементов в неупорядоченном наборе после использования вставки (или emplace) без выделения во время построения? Для деталей в этой проблеме, вот пример: Построено неупорядоченное множество S целых чисел 480 вставлено в S…
31 дек '16 в 04:05
1 ответ

Является ли unordered_set подходящей структурой данных для хранения векторных<int> элементов? И если так, как бы я пошел о реализации хэш-функции?

Поэтому этот вопрос вызван практическим упражнением HackerRank, которое я сейчас пытаюсь выполнить. В упражнении "Путешествие на Луну" приводится заданный список пар космонавтов, которые не могут быть сгруппированы вместе в конечном результате. Ориг…
01 июн '18 в 20:26
1 ответ

Стирание unordered_set не работает в C++

Рассмотрим следующую ситуацию void first(){ unordered_set&lt;int&gt; validPorts; int roundNum=0, preFunctionSize, postFunctionSize,j=0 ; while(j &lt;100){ if(some_condition_A){ validPorts.insert(some_int_value); } j++; } do{ preFunctionSize = validP…
22 авг '14 в 15:26
1 ответ

Существует ли стандартный механизм для получения хэша строки C?

У меня есть строка C (wchar_t const*) время жизни которого принадлежит какой-то другой структуре данных; ссылки на строку передаются по указателю. Я хочу поместить такие случаи в unordered_map, Есть ли стандартный инструмент, который я могу использо…
24 июл '14 в 00:35
3 ответа

Где я должен поместить специализированный std::hash для пользовательского типа

Я искал много страниц, и я думаю, что знал, как написать std::hash. Но я не знаю, где это поставить. Пример представлен здесь http://en.cppreference.com/w/cpp/utility/hash. Тем не менее, я определил свой тип Instance в пространстве имен ca в файле i…
21 сен '15 в 14:21
4 ответа

Boost - unordered_set учебник / примеры / НИЧЕГО?

Я хотел бы использовать unordered_set в проекте. Однако документация к нему либо неполная, либо просто техническая справка, примеров нет. Может ли кто-нибудь предоставить ссылки на онлайн-ресурсы, которые занимаются этим? Книги тоже приветствуются, …
12 дек '10 в 17:23
1 ответ

Гарантирует ли C++ порядок операндов в сравнениях, выполненных стандартными контейнерами?

TL;DR: у меня есть случай использования, где важно WidgetEqualTo()(new_widget, widget_inside_container) или же WidgetEqualTo()(widget_inside_container, new_widget) называется. Идентичные виджеты могут быть воссозданы много раз, поэтому у меня есть W…
10 июл '17 в 14:19