Russian Qt Forum
Апрель 24, 2024, 16:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Удалить диапазон  (Прочитано 3343 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Ноябрь 24, 2017, 11:02 »

Добрый день

Есть вектор эл-тов сортированный по ключу int. Удалить все эл-ты со значениями ключей от 2 до 5 включительно (например). Понятно что можно всяко, какой способ наиболее техничен?

Спасибо
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3258


Просмотр профиля
« Ответ #1 : Ноябрь 24, 2017, 15:39 »

lower_bound/upper_bound, затем сдвиг всех элементов, затем resize()
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #2 : Ноябрь 24, 2017, 16:15 »

std::equal_range + std::vector::erase
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3258


Просмотр профиля
« Ответ #3 : Ноябрь 24, 2017, 16:25 »

ах да, у вектора же есть ренж эрейз, это ж не qt:)
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #4 : Ноябрь 25, 2017, 10:26 »

Я тоже вижу эти 2 варианта (lower+upper bound и equal_range). Реализовал первый - ну получилось не так уж коротко (или элегантно) как хотелось бы. Может есть др способы или лучшая реализация этих? В общем, прошу блеснуть техникой  Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.042 секунд. Запросов: 22.