Trong bài viết này, chúng ta sẽ thảo luận về các hàm set ::crbegin () và set ::crend () trong C ++ STL, cú pháp, cách làm việc và giá trị trả về của chúng.
Đặt trong C ++ STL là gì?
Các bộ trong C ++ STL là các bộ chứa phải có các phần tử duy nhất theo thứ tự chung. Tập hợp phải có các phần tử duy nhất vì giá trị của phần tử xác định phần tử. Sau khi đã thêm một giá trị trong vùng chứa đã đặt thì không thể sửa đổi được, mặc dù chúng tôi vẫn có thể xóa hoặc thêm các giá trị vào tập hợp. Các tập hợp được sử dụng làm cây tìm kiếm nhị phân.
Set ::crbegin () là gì?
Hàm crbegin () là một hàm có sẵn trong C ++ STL, được định nghĩa trong tệp tiêu đề
Cú pháp
constant_iterator name_of_set.crbegin();
Tham số
Hàm này không chấp nhận bất kỳ tham số nào.
Giá trị trả về
Hàm này trả về trình lặp đang trỏ đến phần tử cuối cùng của vùng chứa đã đặt.
Ví dụ
Input: set<int> myset = {1, 2, 3, 4, 5}; myset.crbegin(); Output: 5
Ví dụ
#include <bits/stdc++.h> using namespace std; int main(){ int arr[] = {1, 2, 3, 4, 5}; set<int> ch(arr, arr + 5); for (auto i = ch.crbegin(); i!= ch.crend(); i++) cout << *i << " "; return 0; }
Đầu ra
Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau
5 4 3 2 1
Cái gì được đặt ::crend ()
Hàm crend () là một hàm có sẵn trong C ++ STL, được định nghĩa trong tệp tiêu đề
Cú pháp
constant_iterator name_of_set.crend();
Tham số
Hàm này không chấp nhận bất kỳ tham số nào.
Giá trị trả về
Hàm này trả về trình vòng lặp đang trỏ đến vị trí ngay trước vị trí đầu tiên của vùng chứa đã đặt được liên kết với hàm.
Ví dụ
Input: set<int> myset = {1, 2, 3, 4, 5}; myset.crend(); Output: 9 //random number before the first element in the set container.
Ví dụ
#include <bits/stdc++.h> using namespace std; int main(){ int arr[] = {3, 5, 8, 1, 9}; set<int> ch(arr, arr + 5); for(auto i = ch.crbegin(); i!= ch.crend(); i++) cout << *i<< " "; return 0; }
Đầu ra
Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau
9 8 5 3 1