Библиотека STL
Итераторы
Подключим библиотеки.
#include <algorithm>
#include <vector>
Создадим вектор.
vector <int> v;
С помощью итератора пробегаемся по вектору и выводим его элементы на экран.
for(vector <int> :: iterator iter = v.begin(); iter != v.end(); iter++) {
int x = (*iter);
cout << x << " ";
}
С помощью итератора увеличиваем каждый элемент вектора на пять тысяч.
for(vector <int> :: iterator iter = v.begin(); iter != v.end(); iter++) {
int x = (*iter);
x += 5000;
*iter = x;
}
Функции поиска элементов
Поиск элемента в векторе и получение его индекса. Если переменная x будет успешно найдена в векторе, то в переменную i будет сохранён индекс первого вхождения элемента в вектор.
int x = 140;
int i = find(v.begin(), v.end(), x) - v.begin();
if(i < v.size()) {
cout << "Element was found" << endl;
cout << i << " " << v[i] << endl;;
} else {
cout << "Element was NOT found" << endl;
}
Поиск первого вхождения максимального элемента в вектор.
int i_max = max_element(v.begin(), v.end()) - v.begin();
cout << i_max << " " << v[i_max] << endl;
Работа с парами
Создадим две пары.
pair <string, string> p1;
pair <string, string> p2;
Инициализируем содержимое каждой пары.
p1.first = "Maxim";
p1.second = "Nina";
p2.first = "Maxim";
p2.second = "Nina";
Сравним содержимое пар друг с другом. Обычные записи сравнивать нельзя. Пары сравнивать можно. Две пары будут равны, если у них одинаковое содержимое.
if(p1 == p2){
cout << "YES";
} else {
cout << "NO";
}
Last updated
Was this helpful?