Trong bài viết này, chúng ta sẽ thảo luận về hàm set ::find () 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 là gì ::find ()
Hàm find () là một hàm có sẵn trong C ++ STL, được định nghĩa trong tệp tiêu đề. Hàm này được sử dụng để tìm một phần tử hoặc một giá trị trong một vùng chứa đã đặt. find () trả về một trình lặp trỏ đến vị trí của phần tử được tìm kiếm. Nếu phần tử không có trong tập hợp, thì nó trả về phần tử ngay sau phần tử cuối cùng của vùng chứa tập hợp.
Cú pháp
Set1.find (const type_t &element);
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ề một trình vòng lặp trỏ đến phần tử sẽ được tìm thấy.
Ví dụ
Input: set<int> myset = {10, 20, 40, 80, 90}; myset.find(40); Output: element found
Ví dụ
#include <bits/stdc++.h> using namespace std; int main(){ set<int> mySet; mySet.insert(10); mySet.insert(20); mySet.insert(90); mySet.insert(80); mySet.insert(40); auto temp = mySet.find(40); cout<<"Elements after 40 are: "; for (auto i = temp; i != mySet.end(); i++) cout << *i << " "; 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 after 40 are: 40 80 90
Ví dụ
#include <iostream> #include <set> int main (){ std::set<int> mySet; std::set<int>::iterator i; for(int i=1; i<=4; i++) mySet.insert(i*2); i = mySet.find(6); mySet.erase(i); mySet.erase(mySet.find(4)); std::cout<<"elements are : "; for (i = mySet.begin(); i != mySet.end(); ++i) std::cout << ' ' << *i; std::cout << '\n'; 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 are : 2 8