Crear Montón utilizando make_heap () | STL C ++

C ++ STL make_heap función () : Aquí, vamos a aprender, lo que es la estructura de datos del montón ? Cómo crear dinámico utilizando make_heap () en C ++ STL (Standard Template Library) ?

¿Cuál es la estructura de datos del montón?

Heap es una que es class usado rápida recuperación de la más grande (montón max) o elemento más pequeño (min montón) basados ​​en los árboles. Esta DS se utiliza en la cola de prioridad, prims ALGO, pila de clasificación y muchos más.

make_heap () función

Sintaxis:

    make_heap( arg1, agr2 ,[arg3]) 

Aquí,

  • arg1 = puntero o iterador a partir de la lista de números
  • arg2 = puntero o iterador a poner fin a de la lista de números
  • arg3 = opcional, el uso a la naturaleza cambio for del montón es decir, es montón max a min montón

1) Código para demostrar el uso de make_heap () [montón max]

#include <bits/stdc++.h>
using namespace std;
#define MAX 5
int main()
{
int array[MAX]={6,3,6,17,8};
//Max Heap created
make_heap(array,array+MAX);
cout<<array[0]<<endl;
return 0;
}

salida

17

2) Código para demostrar el uso de make_heap () [min montón]

#include <bits/stdc++.h>
using namespace std;
#define MAX 5
bool compare(int a, int b)
{
if(a<b)
return 0; //change to 1 if max heap required
else
return 1; //change to 0 if max heap required
}
int main()
{
int array[MAX]={6,3,6,17,8};
make_heap(array,array+MAX,compare);
cout<<array[0]<<endl;
return 0;
}

salida

3


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *