C++ Программирование в среде С++ Builder 5

         

Удаление элементов


Удаление элементов контейнера с указанным значением выполняется алгоритмами remove () и remove_if:

Forwardlterator

remove(Forwardlterator first, Forwardlterator last,

const T& value) ;

Forwardlterator

remove if(Forwardlterator first, Forwardlterator last,

Predicate pred) ;

Необходимо заметить, что эти алгоритмы не уменьшают числа элементов в контейнере. Они только сдвигают элементы, которые должны остаться в новом наборе, к его началу, и возвращают итератор конца нового набора элементов. Чтобы действительно удалить ненужные элементы, нужно применить метод контейнера erase ():

array.erase(remove(array.first(), array.end(), value),

array.end());

Алгоритм unique () удаляет из контейнера все элементы с повторяющимися значениями, следующие друг за другом, оставляя только первый из них:

Forwardlterator remove(Forwardlterator first, Forwardlterator last);

Алгоритм возвращает итератор конца нового набора элементов.



Содержание раздела