Разделение множества (C ++) - PullRequest
5 голосов
/ 05 ноября 2010

У меня есть std::set<int>, в котором есть n предметов.И я хочу избавиться от n-k элементов большего размера и оставить первые (минимум) k элементов.Как мне это сделать?Есть ли предопределенная функция для этого?

Ответы [ 2 ]

9 голосов
/ 05 ноября 2010

A std::set заказано.

std::set<int>::const_iterator i = myset.begin();
std::advance(i, k);
myset.erase(i, myset.end());
0 голосов
/ 05 ноября 2010

Используйте функцию стирания:

http://www.cplusplus.com/reference/stl/set/erase/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...