Описание тега stdset
В C++ `std::set`s является своего рода ассоциативным контейнером, в котором хранятся уникальные элементы, и в котором сами элементы являются ключами.
2
ответа
std:: установить собственный компаратор для 2D точек
Мне нужен список не дублированных 2D точек, поэтому я использую std::set с пользовательской функцией сравнения. У функции, которую я использую, возникают проблемы после вставки точек, потому что иногда std::find не находит уже вставленные точки. con…
02 дек '15 в 16:24
3
ответа
Сет-лист в с ++
Я создал набор списков в C++ и заполнен элементами std::set<Unit*> myUnits; for(std::set<Unit*>::iterator i = myUnits.begin(); i != myUnits.end(); i++) { if() {} } Так что я хочу, чтобы, если проверить каждый элемент setlist, что нужно в…
21 ноя '11 в 17:00
1
ответ
Вставить значения в вектор множеств int в C++
Я хочу вставить значения в vector из set<int>, который определяется с помощью typedef как указано ниже: typedef std::set<int> blockSet_t; std::vector<blockSet_t>* myvector Я хочу иметь такие ценности, чтобы myvector[0] имеет set из…
20 фев '16 в 03:30
2
ответа
Как конвертировать std::vector в std::set без потери порядка
Я использую приведенный ниже код для конвертации: std::set<ObjectType> s(v.begin(), v.end()); Тем не менее, мне нужно сохранить порядок векторных элементов. Как я могу это сделать?
26 янв '16 в 19:38
1
ответ
Запись-запись данных из std::set insert() и find()?
Чтобы поэкспериментировать с потоком-дезинфицирующим средством, я создал крошечную программу на C++, которая по назначению содержит гонку данных. Действительно, Цан обнаруживает ошибку, отлично! Однако я озадачен сгенерированным сообщением... Он соо…
07 мар '14 в 14:12
1
ответ
Cplusplus std:: набор двумерного массива
Я новичок в C++ и мне нужно использовать Set от STL но я борюсь с концепцией. У меня есть такой массив int my_data[3] Я хочу создать (не знаю, возможно ли это) set с местом для 3-х дюймов и что key для set будет int это хранится в первом столбце. Я …
24 мар '14 в 13:44
2
ответа
Использование постоянного символьного указателя в контейнере std::set: потребление памяти
В настоящее время я работаю на устройстве с очень небольшим объемом памяти (4 МБ), и у меня есть компонент моей программы, который требует std:: set. Я хотел бы перенести этот набор с использования std:: string на использование указателей const char…
19 фев '11 в 23:51
1
ответ
Вставка пары в std::set не согласована (не распознает <pair>.second)
Этот код работает по-другому, если я добавлю условие: Первый случай: #include<bits/stdc++.h> using namespace std; struct comp { bool operator()(pair<int,pair<int,int> > a, pair<int,pair<int,int> > b) { return a.first>…
23 апр '16 в 10:47
1
ответ
Контейнеры Qt - что мне выбрать?
Qt предлагает набор STL контейнеры Однако нет доступного контейнера, в котором хранятся упорядоченные значения по их порядку (например, std::set ) и QSet по некоторым причинам ведет себя как std::unordered_set, Я понимаю что наверное O(1) поиск в на…
20 апр '12 в 18:34
9
ответов
Как удалить дубликаты из несортированного std::vector при сохранении исходного порядка с использованием алгоритмов?
У меня есть массив целых чисел, из которого мне нужно удалить дубликаты, сохраняя при этом порядок первого вхождения каждого целого числа. Я могу видеть, как это происходит, но представьте себе, что есть лучший способ, который делает использование а…
30 авг '12 в 15:33
1
ответ
std::set компаратор, который ссылается на внешнее значение
У меня есть что-то вроде class ClassB { // .... private: static std::unordered_map<ClassA,double> activity; struct compare_values { bool operator()(const ClassA& l, const ClassA& r) const { return activity[l] < activity[r]; } }; std…
22 дек '17 в 09:39
2
ответа
Элегантный способ найти ключи с заданным префиксом в std::map или элементы в std::set
У меня есть карта, ключи которой являются std::string. Я хочу найти те элементы на карте, которая начинается с "DUPA/" префикс. Найти нижнюю границу легко, но верхняя граница немного проблематична. Я написал такой кусок кода: const char* prefix = "D…
23 июн '17 в 09:30
1
ответ
Можно ли заставить STL установить переоценку предиката?
Рассмотрим следующие структуры данных и код. struct Sentence { std::string words; int frequency; Sentence(std::string words, int frequency) : words(words), frequency(frequency) {} }; struct SentencePCompare { bool operator() (const Sentence* lhs, co…
20 ноя '18 в 08:22
1
ответ
Скопируйте std::map в std::set в C++
Возможно ли с помощью алгоритма STL глубокое копирование значений std::map в std::set? Я не хочу явно вставлять в новый набор. Я не хочу явно делать это: std::map<int, double*> myMap; //filled with something std::set<double*> mySet; for …
06 июн '12 в 14:52
1
ответ
Как добраться до элементов в std::set два на два в C++
У меня есть список целых чисел.(В настоящее время хранится в std::vector, но для повышения эффективности мне нужно преобразовать его в набор. Но в текущей версии я использую его следующим образом: (Я использую C++98 не C++11) int res=0; vector<ve…
15 янв '16 в 14:26
2
ответа
Как поместить std::set в std::map
Я объявил std: карту ниже: std::map<std::string, std::set<unsigned char*>> FilesMap; int InsertData(unsigned char* name) { // here i try to insert pair with name above and clear std::set FilesMap.insert(std::pair<std::string, std::set…
08 окт '12 в 15:34
5
ответов
Почему std::set заставляет использовать const_iterator?
Рассмотрим простую программу, приведенную ниже, которая пытается перебрать значения набора, используя неконстантные ссылки на элементы в нем: #include <set> #include <iostream> class Int { public: Int(int value) : value_(value) {} int va…
04 авг '16 в 13:16
2
ответа
Как проверить, есть ли элемент <x в наборе C++
Есть ли элемент, который меньше заданного x в std::set sЕсли нет print, "x меньше, чем любой элемент", если есть, то print "самый большой элемент, который меньше x".Кстати, вы также знаете, что х не входит в набор является: cin >> x; auto it =…
28 авг '18 в 17:11
1
ответ
Обратный итератор продвигается с помощью std::set::erase
Я пытаюсь стереть элемент, в который я только что прошел. Сначала я забыл сохранить возвращаемое значение s1.erase (... внутри цикла for, чтобы в конечном итоге установить условие выхода из цикла. Учитывая то, как работает код, я ожидал, что цикл бу…
12 дек '18 в 01:54
4
ответа
Как очистить std::set из указателей объектов?
У меня проблема с очисткой моего набора, поэтому у меня есть 3 класса, например:класс A и 2 унаследованы классы B и C. В коде, в котором я храню элементы в моем наборе из 3 типов, набор: set<A*> objects; поэтому всякий раз, когда я создаю элем…
01 июл '17 в 09:58