溫馨提示×

C++中l(wèi)ess函數(shù)的作用是什么

c++
小樊
82
2024-09-14 09:26:50
欄目: 編程語言

在 C++ 中,less 函數(shù)是一個比較函數(shù),它用于檢查兩個給定元素的大小關(guān)系。less 函數(shù)通常用于排序和查找算法,如 std::sort、std::lower_bound 等。

less 函數(shù)的原型如下:

template<class T>
struct less {
  bool operator()(const T& a, const T& b) const;
};

這里,T 是要比較的元素類型。operator() 是一個函數(shù)調(diào)用操作符,它接受兩個參數(shù) ab,并返回一個布爾值,表示 a 是否小于 b。

例如,當(dāng)你使用 std::sort 對一個整數(shù)向量進(jìn)行排序時,你可以使用 std::less<int> 作為比較函數(shù):

#include<algorithm>
#include<vector>
#include<functional>

int main() {
    std::vector<int> v = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
    std::sort(v.begin(), v.end(), std::less<int>());
    return 0;
}

在這個例子中,std::less<int> 會按照升序?qū)φ麛?shù)向量進(jìn)行排序。如果你想按照降序排序,你可以使用 std::greater<int> 代替。

0