Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ 세트를 역방향으로 순회하는 방법은 무엇입니까?

<시간/>

집합이 있다고 가정하고 반대 방향으로 집합을 순회해야 합니다. 따라서 집합이 S =[10, 15, 26, 30, 35, 40, 48, 87, 98]과 같으면 출력은 98 87 48 40 35 30 26 15 10이 됩니다.

역순으로 순회하려면 reverse_iterator를 사용할 수 있습니다. 여기서 rbegin() 및 rend() 함수를 사용하여 역방향 반복기의 시작과 끝을 가져옵니다.

예시

#include <iostream>
#include <set>
using namespace std;
int main() {
   int arr[] = {10, 15, 26, 30, 35, 40, 48, 87, 98};
   set<int> my_set(arr, arr + sizeof(arr) / sizeof(arr[0]));
   set<int>::iterator it;
   cout << "Elements of Set in forward order: ";
   for (it = my_set.begin(); it != my_set.end(); it++)
      cout << *it << " ";
   set<int>::reverse_iterator rev_it;
   cout << "\nElements of Set in reverse order: ";
   for (rev_it = my_set.rbegin(); rev_it != my_set.rend(); rev_it++)
      cout << *rev_it << " ";
}

출력

Elements of Set in forward order: 10 15 26 30 35 40 48 87 98
Elements of Set in reverse order: 98 87 48 40 35 30 26 15 10