A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.geeksforgeeks.org/cpp/stdgreater-in-c-with-examples/ below:

std::greater in C++ with Examples

std::greater in C++ with Examples

Last Updated : 12 Jul, 2025

The

std::greater

is a functional object which is used for performing comparisons. It is defined as a Function object class for the greater-than inequality comparison. This can be used for changing the functionality of the given function. This can also be used with various standard algorithms such as

sort

,

priority queue

, etc.

Header File:
#include <functional.h>
Template Class:
template <class T> struct greater;
Parameter: T

is a type of the arguments to compare by the functional call.

Return Value:

It returns boolean variable as shown below:

Below is the illustration of

std::greater

in C++:

Program 1: CPP
// C++ program to illustrate std::greater

#include <algorithm>
#include <functional>
#include <iostream>
using namespace std;

// Function to print array elements
void printArray(int arr[], int n)
{

    for (int i = 0; i < n; i++) {
        cout << arr[i] << ' ';
    }
}

// Driver Code
int main()
{

    int arr[] = { 60, 10, 80, 40, 30,
                  20, 50, 90, 70 };
    int n = sizeof(arr) / sizeof(arr[0]);

    // To sort the array in decreasing order
    // use greater <int>() as an third arguments
    sort(arr, arr + 9, greater<int>());

    // Print array elements
    printArray(arr, n);

    return 0;
}
Output:
90 80 70 60 50 40 30 20 10
Program 2: CPP
// C++ program to illustrate std::greater

#include <functional>
#include <iostream>
#include <queue>
using namespace std;

// Function to print elements of priority_queue
void showpq(priority_queue<int, vector<int>,
                           greater<int> >
                pq)
{
    priority_queue<int,
                   vector<int>,
                   greater<int> >
        g;
    g = pq;

    // While priority_queue is not empty
    while (!g.empty()) {

        // Print the top element
        cout << g.top() << ' ';

        // Pop the top element
        g.pop();
    }
}

// Driver Code
int main()
{
    // priority_queue use to implement
    // Max Heap, but using function
    // greater <int> () it implements
    // Min Heap
    priority_queue<int, vector<int>,
                   greater<int> >
        gquiz;

    // Inserting Elements
    gquiz.push(10);
    gquiz.push(30);
    gquiz.push(20);
    gquiz.push(5);
    gquiz.push(1);

    // Print elements of priority queue
    cout << "The priority queue gquiz is : ";
    showpq(gquiz);
    return 0;
}
Output:
The priority queue gquiz is : 1 5 10 20 30


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4