Из одного итератора можно вычитать другой итератор. Например, разница между итераторами begin()+7 и begin()+2 будет равна числу 5. А разница между итераторами end() и begin() будет равна количеству элементов в векторе.
Итераторы вектора можно сравнивать при помощи неравеств <, >, <=, >=, которые
будут возвращать true или false в зависимости от того, какой элемент
Boshqa iteratorlar
erase
Метод erase удаляет один элемент или последовательность элемента из вектора. Для удаления одного элемента нужно дать итератор на этот элемент. Например, для удаление первого элемента вектора:
a.erase(a.begin()); а для удаления последовательности передается два итератора - на первый элемент и на элемент, следующий за последним элементом. То есть вызов:
a.erase(a.begin()+k1,a.begin()+k2); удалит k2 -
k1 элемент начиная от a[k1] (включительно) и до
Boshqa iteratorlar
insert
Метод insert позволяет вставить в середину вектора один элемент, несколько равных элементов, или фрагмент этого же и другого вектора.
Первый параметр метода insert() - итератор, указывающий позицию для вставки.
Остальные параметры могут быть следующими.
Если указан еще один параметр, то вставляется одно
значение, равное этому. Например:
a.insert(a.begin()+5,val) вставляет значение val в элемент a[5] вектора. То, что ранее было в элементе a[5] и далее сдвигается вправо.
Метод insert с тремя параметрами insert(pos, n, val)
Boshqa iteratorlar
А метод insert с тремя параметрами insert(pos, it1, it2) вставляет в позицию pos фрагмент вектора начиная с итератора it1 до итератора it2 (разумееется, не включая it2).
Пример такого использования, который удваивает вектор: