std :: less_equal в C ++ с примерами

Опубликовано: 29 Декабря, 2021

Std :: less_equals - это класс объекта функции, используемый для выполнения сравнений. Он определяется как класс функционального объекта для сравнения меньше равенства, который возвращает логическое значение в зависимости от условия. Его можно использовать с различными стандартными алгоритмами, такими как sort, lower_bound и контейнеры, такие как vector, set и т. Д.

Заголовочный файл:

#include <функционал.h>

Класс шаблона:

template <class T> struct less_equal {

  // Объявление 
  // менее равная операция 
  логический оператор () (const T & x,
                   const T & y) 
      const 
  {
     вернуть x <= y;
  }

  // Тип первого параметра
  typedef T first_argument_type;

  // Тип второго параметра
  typedef T второй_аргумент_типа;

  // Результат возвращается
  // как тип bool
  typedef bool result_type;
};

Синтаксис:

std :: bind2nd (std :: less_equal (), K)

Параметр: эта функция принимает тип аргументов T в качестве параметра, который будет сравниваться при функциональном вызове.

Тип возврата: он возвращает логическое значение в зависимости от условия (пусть a и b - 2 элемента):

  • Верно: если a меньше, чем равно b.
  • Ложь: если a больше b.

Ниже приведена иллюстрация std :: less_equal в C ++:

Программа 1:

// C++ program to illustrate less_equal
#include <algorithm>
#include <functional>
#include <iostream>
using namespace std;
// Function to print the array arr[]
void printArray( int arr[], int N)
{
for ( int i = 0; i < N; i++) {
cout << arr[i] << ' ' ;
}
}
// Driver Code
int main()
{
int arr[] = { 1, 5, 8, 9, 6,
7, 3, 4, 2, 0 };
int N = sizeof (arr) / sizeof (arr[0]);
// Sort the array in increasing order
sort(arr, arr + N, less_equal< int >());
// Print sorted array
printArray(arr, N);
return 0;
}
Выход:
0 1 2 3 4 5 6 7 8 9

Программа 2:

// C++ program to illustrate less_equal
#include <functional>
#include <iostream>
#include <iterator>
#include <set>
using namespace std;
// Driver Code
int main()
{
// Initialise set with less_equal to
// store the elements in increasing
// order
set< int , less_equal< int > > S;
// Insert elements in S
S.insert(75);
S.insert(30);
S.insert(60);
S.insert(20);
S.insert(50);
S.insert(30);
// Print the elements stored in set S
for ( auto & it : S) {
cout << it << ' ' ;
}
return 0;
}
Выход:
20 30 30 50 60 75

Ссылка: http://www.cplusplus.com/reference/functional/less_equal/

Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .
C++