Вопросы по теме 'stdset'

Компаратор C++ std::set
Это код: struct comp { bool operator()(Reputation *one, Reputation *two) { if (one->Amount < 0 && two->Amount >= 0) return false; if (one->Amount >= 0 && two->Amount < 0)...
4557 просмотров
schedule 07.08.2023

ограничить размер std::set
У меня есть короткий вопрос о контейнере std::set. Прямо сейчас я кормлю свой набор с помощью функции pushback. Конечно, набор становится все больше и больше для каждого push_back. Меня интересуют только последние 30 элементов или около того......
3416 просмотров
schedule 06.09.2023

как проверить, есть ли в наборе элементы в определенном диапазоне на С++
Мне нужно проверить, содержит ли std::set элемент/элементы в диапазоне. Например, если набор представляет собой set<int> {1, 2, 4, 7, 8} и задан интервал int [3, 5] (включительно с обеими конечными точками), мне нужно знать, есть ли в...
1055 просмотров
schedule 12.05.2023

Как удалить дубликаты из несортированного std :: vector, сохранив исходный порядок с помощью алгоритмов?
У меня есть массив целых чисел, из которого мне нужно удалить дубликаты, сохраняя порядок первого появления каждого целого числа. Я вижу, как это делается, но представьте, что есть лучший способ лучше использовать алгоритмы STL? Я не могу...
28244 просмотров

Как элегантно поместить все перечисления в std::set
У меня есть перечисление, и я хочу поместить их все в набор (а затем удалить некоторые с помощью алгоритма set_intersection, но это оффтоп). Все отлично работает, за исключением того, что я застрял на шаге 1. :) Если у меня есть (у реального...
3789 просмотров
schedule 19.04.2023

С++ как std::set обрабатывает динамическое упорядочение элементов
У меня есть набор, объявленный с моей собственной функцией comp: set<int, my_comp> my_set; Функция сравнения использует некоторые данные, хранящиеся в другом месте, чтобы решить, какое целое число больше. Если указанные данные...
422 просмотров
schedule 20.06.2023

std::set стереть аномалию сложности?
Я пытаюсь понять сложность удаления нескольких элементов из std::set. Я использую эту страницу в качестве источника. В нем утверждается, что сложность удаления одного элемента с помощью итератора амортизируется O (1), но стирание нескольких...
7367 просмотров
schedule 05.12.2022

Как использовать компаратор с типом is_transparent?
с C++14 нам разрешено сравнивать элементы некоторых ассоциативных контейнеров (например, std::set) с другими типами, кроме тех, которые хранятся в контейнере. Это должно работать, когда компаратор имеет is_transparent , обозначенный как тип (см.,...
2339 просмотров
schedule 13.01.2023

Как инициализировать карту из набора
Я хочу установить ключи std::map , используя элементы std::set (или std::vector ). Что-то вроде следующего... std::set<int> keys = { 3,4,6 }; std::map<int,string> results(keys); // syntax error Можно ли это сделать без...
1220 просмотров
schedule 30.05.2023

Может ли замена std::allocator позволить std::set работать с void* и отдельными функциями копирования/деаллока?
Я борюсь с проблемой, когда какой-то устаревший код пытается общаться с современными системами. В частности, C++11 версии STL (бонусные баллы, если предлагаемое вами решение работает с C++03, отрицательные баллы, если решение работает только с...
118 просмотров
schedule 07.05.2023