Как пройти по набору C ++ в обратном направлении
Опубликовано: 30 Декабря, 2021
Для данного набора задача состоит в том, чтобы пройти по этому набору в обратном порядке.
Примеры:
Ввод: set = [10 20 30 70 80 90 100 40 50 60] Выход: 100 90 80 70 60 50 40 30 20 10 Ввод: set = [1 2 3 4 5] Выход: 5 4 3 2 1
Подход:
Чтобы пройти Set в обратном порядке, на нем можно объявить reverse_iterator, и его можно использовать для обхода набора от последнего элемента к первому с помощью функций rbegin () и rend ().
- Получите набор.
- Объявите обратный итератор для этого набора.
- Пройдите по набору от последнего элемента к первому с помощью функций rbegin () и rend ().
Ниже представлена реализация описанного выше подхода:
Программа:
#include <bits/stdc++.h> using namespace std; int main() { // Get the set int arr[] = { 14, 12, 15, 11, 10 }; // initializes the set from an array set< int > s(arr, arr + sizeof (arr) / sizeof (arr[0])); // declare iterator on set set< int >::iterator it; cout << "Elements of Set in normal order:
" ; // prints all elements in normal order // using begin() and end() methods for (it = s.begin(); it != s.end(); it++) cout << *it << " " ; // declare reverse_iterator on set set< int >::reverse_iterator rit; cout << "
Elements of Set in reverse order:
" ; // prints all elements in reverse order // using rbegin() and rend() methods for (rit = s.rbegin(); rit != s.rend(); rit++) cout << *rit << " " ; return 0; } |
Выход:
Элементы набора в обычном порядке: 10 11 12 14 15 Элементы набора в обратном порядке: 15 14 12 11 10
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .