c plus plus
  • Введение
  • Строки string
  • Векторы vector
  • Библиотека STL
  • Множества set
  • Словарь map
  • Консоль
  • Многопоточность
Powered by GitBook
On this page
  • Итераторы
  • Функции поиска элементов
  • Работа с парами

Was this helpful?

Библиотека 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";
    }
PreviousВекторы vectorNextМножества set

Last updated 5 years ago

Was this helpful?