Название: Удалить диапазон Отправлено: Igors от Ноябрь 24, 2017, 11:02 Добрый день
Есть вектор эл-тов сортированный по ключу int. Удалить все эл-ты со значениями ключей от 2 до 5 включительно (например). Понятно что можно всяко, какой способ наиболее техничен? Спасибо Название: Re: Удалить диапазон Отправлено: Авварон от Ноябрь 24, 2017, 15:39 lower_bound/upper_bound, затем сдвиг всех элементов, затем resize()
Название: Re: Удалить диапазон Отправлено: __Heaven__ от Ноябрь 24, 2017, 16:15 std::equal_range + std::vector::erase
Название: Re: Удалить диапазон Отправлено: Авварон от Ноябрь 24, 2017, 16:25 ах да, у вектора же есть ренж эрейз, это ж не qt:)
Название: Re: Удалить диапазон Отправлено: Igors от Ноябрь 25, 2017, 10:26 Я тоже вижу эти 2 варианта (lower+upper bound и equal_range). Реализовал первый - ну получилось не так уж коротко (или элегантно) как хотелось бы. Может есть др способы или лучшая реализация этих? В общем, прошу блеснуть техникой :)
|