Как получить доступ к элементам в наборе по индексу в С++?

Опубликовано: 20 Февраля, 2023

Наборы — это контейнеры, доступные в стандартной библиотеке шаблонов C++ (STL). Они используются для хранения отдельных элементов в заданной последовательности; по сути, он работает по тем же принципам, что и бинарное дерево поиска.

В C++ элементы можно добавлять в наборы или удалять из них, но их нельзя изменить после сохранения там, поскольку их значения становятся постоянными. Следующие методы доступны для доступа к элементам в наборе по индексу в C++ STL:

  • Доступ к элементу путем итерации в наборе.
  • Доступ к элементу по определенному индексу с помощью функции next().
  • Доступ к элементу по определенному индексу с помощью функции advance().
  • Создавая общие методы для доступа к n-му элементу из любого набора

1. Повторение набора

Это наиболее распространенный способ доступа к любому элементу в наборе по индексу. В этом методе мы будем проходить набор, используя цикл for, и получать доступ к любому элементу. Для доступа к n-му индексу мы инициализируем итератор для данного набора, а затем повторим его n раз, чтобы добраться до n-го индекса.

Пример:

2. Использование функции next()

Другой способ получить доступ к элементу по любому индексу — использовать функцию next(). Этот метод похож на предыдущий, только мы используем функцию next() напрямую, а не циклы для итерации.

Синтаксис:

iterator_name = next(ForwardIterator it,n)

Здесь итератор указывает на начало набора, а n — это количество раз, которое нам нужно повторить. Теперь мы можем получить доступ к элементу с помощью итератора, используя *iterator_name.

Пример:

3. Использование функции advance()

Еще один способ получить доступ к элементу по любому индексу — использовать функцию advance(). В этом методе итератору присваивается значение, на которое его следует продвигать.

Синтаксис:

advance(it, n);

Здесь итератор указывает на начало набора, а n обозначает количество итераций. Мы можем получить доступ к элементу, используя *it.

Пример:

4. Общий метод для доступа к n-му элементу

Чтобы получить доступ к n-му элементу из набора, мы можем создать общий метод. В этом методе мы вернем два значения: логическое значение, если n-й элемент присутствует или нет, и если присутствует, то каково будет значение этого элемента?

Пример: