Biblioteca de algoritmos C ++ - Función is_heap ()

Descripción

La función C ++ std::algorithm::is_heap()comprueba si la secuencia dada es el montón máximo o no. Utiliza el operador < para comparar.

Declaración

A continuación se muestra la declaración de la función std :: algorítm :: is_heap () del encabezado std :: algoritmo.

C ++ 11

template <class RandomAccessIterator>
bool is_heap(RandomAccessIterator first, RandomAccessIterator last);

Parámetros

  • first - Iterador de acceso aleatorio a la posición inicial.

  • last - Iterador de acceso aleatorio a la posición final.

Valor devuelto

Devuelve verdadero si la secuencia dada es el montón máximo; de lo contrario, devuelve falso.

Excepciones

Lanza una excepción si la comparación de elementos o una operación en un iterador arroja una excepción.

Tenga en cuenta que los parámetros no válidos provocan un comportamiento indefinido.

Complejidad del tiempo

Lineal.

Ejemplo

El siguiente ejemplo muestra el uso de la función std :: algorítm :: is_heap ().

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main(void) {
   vector<int> v = {3, 5, 2, 1, 4};
   bool result;

   result = is_heap(v.begin(), v.end());

   if (result == false)
      cout << "Given sequence is not a max heap." << endl;

   v = {5, 4, 3, 2, 1};

   result = is_heap(v.begin(), v.end());

   if (result == true)
      cout << "Given sequence is a max heap." << endl;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

Given sequence is not a max heap.
Given sequence is a max heap.