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.