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

thiết lập hàm value_comp () trong C ++ STL

Trong bài viết này, chúng ta sẽ thảo luận về set ::value_comp () 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 ::value_comp () là gì?

value_comp () là một hàm có sẵn trong C ++ STL được khai báo trong tệp tiêu đề . value_comp () trả về một bản sao của đối tượng so sánh, được sử dụng bởi vùng chứa đã đặt để so sánh. Theo mặc định, đối tượng này nhỏ hơn đối tượng của toán tử. Nó là một loại con trỏ hàm hoặc một đối tượng hàm thực hiện việc so sánh hai giá trị của cùng một kiểu trong một tập hợp cụ thể và trả về true nếu phần tử đầu tiên nhỏ hơn phần tử thứ hai trong vùng chứa, nếu không nó sẽ trả về false. Trong vùng chứa tập hợp, các giá trị là chính các khóa để chúng được đặt trong vùng chứa tập hợp ở định dạng được sắp xếp, do đó, hàm value_comp () và key_comp () hoạt động theo cách tương tự.

Cú pháp

comparison_object set_name.value_comp();

Tham số

Hàm này không chấp nhận tham số.

Giá trị trả về

Hàm này trả về một đối tượng so sánh của vùng chứa tập hợp được liên kết.

Ví dụ

Input: set <int> myset = {9, 8, 7, 6, 5};
   set<int>::value_compare cmp = myset.value_comp()
Output: 5 6 7 8 9

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int main(){
   set<int> Set;
   set<int>::value_compare cmp = Set.value_comp();
   for (int i = 0; i <= 10; i++)
      Set.insert(i);
   cout<<"elements in set are: ";
   int front = *Set.rbegin();
   set<int>::iterator i = Set.begin();
   do {
      std::cout << *i << " ";
   }
   while (cmp(*(++i), front));
   std::cout << '\n';
   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 -

elements in set are : 0 1 2 3 4 5 6 7 8 9