Computer >> Máy Tính >  >> Lập trình >> C ++

Làm thế nào để duyệt một bộ C ++ theo hướng ngược lại?

Giả sử chúng ta có một tập hợp, sau đó chúng ta phải duyệt tập hợp đó theo hướng ngược lại. Vì vậy, nếu tập hợp giống như S =[10, 15, 26, 30, 35, 40, 48, 87, 98], thì kết quả đầu ra sẽ là:98 87 48 40 35 30 26 15 10.

Để duyệt theo thứ tự ngược lại, chúng ta có thể sử dụng reverse_iterator. Ở đây, chúng ta sẽ sử dụng hàm rbegin () và rend () để lấy phần đầu và phần cuối của trình lặp ngược.

Ví dụ

#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 << " ";
}

Đầu ra

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