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

Đặt hàm find () trong STL lập trình C ++

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