Trong bài viết này, chúng ta sẽ thảo luận về hàm set ::equal_range () 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 một 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 ::equal_range ()
là gìHàm equal_range () là một hàm có sẵn trong C ++ STL, được định nghĩa trong tệp tiêu đề. Hàm này trả về phạm vi của vùng chứa đã đặt chứa giá trị được truyền làm đối số của hàm. Tập hợp chứa tất cả các giá trị duy nhất nên giá trị tương đương trong phạm vi tìm được sẽ là giá trị duy nhất. Nếu giá trị không có trong vùng chứa, phạm vi sẽ bằng 0, với cả hai trình vòng lặp đều trỏ đến vị trí đầu tiên.
Cú pháp
Set1.equal_range(const type_t& value);
Tham số
Hàm này chấp nhận một tham số, tức là phần tử sẽ được tìm thấy.
Giá trị trả về
Hàm này trả về cặp hoặc chúng ta có thể nói phạm vi trình lặp bắt đầu từ giới hạn dưới của vùng chứa cho đến khi phần tử được tìm thấy trong vùng chứa.
Ví dụ
Input: set<int> myset = {10, 20, 30, 40}; Output: lower bound of 30 is 30
Ví dụ
#include <bits/stdc++.h> using namespace std; int main(){ set<int> mySet; mySet.insert(10); mySet.insert(20); mySet.insert(30); mySet.insert(40); mySet.insert(50); cout<<"Elements before applying range() Function : "; for (auto i = mySet.begin(); i != mySet.end(); i++) cout << *i << " "; auto i = mySet.equal_range(30); cout<<"\nlower bound of 30 is "<< *i.first; cout<<"\nupper bound of 30 is "<< *i.second; i = mySet.equal_range(40); cout<<"\nlower bound of 40 is " << *i.first; cout<<"\nupper bound of 40 is " << *i.second; i = mySet.equal_range(10); cout<<"\nlower bound of 10 is " << *i.first; cout<<"\nupper bound of 10 is " << *i.second; return 0; }
Đầu ra
Nếu chúng ta chạy đoạn mã trên thì nó sẽ tạo ra kết quả sau -
Elements before applying range() Function : 10 20 30 40 50 lower bound of 30 is 30 upper bound of 30 is 40 lower bound of 40 is 40 upper bound of 40 is 50 lower bound of 10 is 10 upper bound of 10 is 20