Cola_prioridad::vacío() y Cola_prioridad::tamaño() en C++ STL

Las colas de prioridad son un tipo de adaptadores de contenedores, diseñados específicamente para que el primer elemento de la cola sea el más grande o el más pequeño de todos los elementos de la cola. Sin embargo, en C++ STL (de manera predeterminada), el elemento más grande está en la parte superior. También podemos crear una cola de prioridad que tenga el elemento más pequeño en la parte superior simplemente pasando un parámetro adicional al crear la cola de prioridad.

cola_de_prioridad::vacío()

La función empty() se usa para verificar si el contenedor de la cola de prioridad está vacío o no. Sintaxis:

Complejidad del tiempo: O(1)

pqueuename.empty()
Parameters :
No parameters are passed
Returns :
True, if priority queue is empty, 
False, Otherwise

Ejemplos:

Input :  pqueue = 3, 2, 1
         pqueue.empty();
Output : False

Input :  pqueue
         pqueue.empty();
Output : True

Errores y excepciones 1. Muestra un error si se pasa un parámetro 2. No muestra ninguna garantía de lanzamiento de excepción. 

CPP

// CPP program to illustrate
// Implementation of empty() function
#include <iostream>
#include <queue>
using namespace std;
 
int main()
{
    priority_queue<int> pqueue;
    pqueue.push(1);
 
    // Priority Queue becomes 1
 
    if (pqueue.empty()) {
        cout << "True";
    }
    else {
        cout << "False";
    }
    return 0;
}

Producción:

False

Aplicación : Dada una cola de prioridad de enteros, encuentre la suma de todos los enteros.

Input  : 8, 6, 3, 2, 1 
Output : 20

Algoritmo 1. Verifique si la cola de prioridad está vacía, si no, agregue el elemento superior a una variable inicializada como 0 y extraiga el elemento superior. 2. Repita este paso hasta que la cola de prioridad esté vacía. 3. Imprime el valor final de la variable. 

CPP

// CPP program to illustrate
// Application of empty() function
#include <iostream>
#include <queue>
using namespace std;
 
int main()
{
    int sum = 0;
    priority_queue<int> pqueue;
    pqueue.push(8);
    pqueue.push(6);
    pqueue.push(3);
    pqueue.push(2);
    pqueue.push(1);
 
    // Queue becomes 8, 6, 3, 2, 1
 
    while (!pqueue.empty()) {
        sum = sum + pqueue.top();
        pqueue.pop();
    }
    cout << sum;
    return 0;
}

Producción:

20
prioridad_cola::tamaño()

La función size() se usa para devolver el tamaño del contenedor de la cola de prioridad o la cantidad de elementos en el contenedor.

Complejidad del tiempo: O(1)

 Sintaxis:

pqueuename.size()
Parameters :
No parameters are passed
Returns :
Number of elements in the container

Ejemplos:

Input :  pqueue = 3, 2, 1
         pqueue.size();
Output : 3

Input :  pqueue
         pqueue.size();
Output : 0

Errores y excepciones 1. Muestra error si se pasa un parámetro. 2. No muestra garantía de lanzamiento de excepción 

CPP

// CPP program to illustrate
// Implementation of size() function
#include <iostream>
#include <queue>
using namespace std;
 
int main()
{
    int sum = 0;
    priority_queue<int> pqueue;
    pqueue.push(8);
    pqueue.push(6);
    pqueue.push(3);
    pqueue.push(3);
    pqueue.push(1);
 
    // Priority Queue becomes 8, 6, 3, 2, 1
 
    cout << pqueue.size();
 
    return 0;
}

Producción:

5

Aplicación : Dada una cola de prioridad de enteros, encuentre la suma de todos los enteros.

Input  : 8, 6, 3, 2, 1 
Output : 20

Algoritmo 1. Verifique si el tamaño de la cola de prioridad es 0, si no, agregue el elemento superior a una variable inicializada como 0 y extraiga el elemento superior. 2. Repita este paso hasta que el tamaño de la cola de prioridad sea 0. 3. Imprima el valor final de la variable. 

CPP

// CPP program to illustrate
// Application of size() function
#include <iostream>
#include <queue>
using namespace std;
 
int main()
{
    int sum = 0;
    priority_queue<int> pqueue;
    pqueue.push(8);
    pqueue.push(6);
    pqueue.push(3);
    pqueue.push(2);
    pqueue.push(1);
 
    // Queue becomes 8, 6, 3, 2, 1
 
    while (pqueue.size() > 0) {
        sum = sum + pqueue.top();
        pqueue.pop();
    }
    cout << sum;
    return 0;
}

Producción:

20

Veamos las diferencias en forma tabular -:

  cola_de_prioridad::vacío() prioridad_cola::tamaño()
1. Se utiliza para comprobar si la cola de prioridad está vacía. Se utiliza para devolver el número de elementos en la cola de prioridad.
2.

Su sintaxis es -:

 vacío();

Su sintaxis es -:

Talla();

3. No toma ningún parámetro. No toma ningún parámetro.
4. Su tipo de retorno es booleano. Su tipo de retorno es un entero.
5. Su complejidad es constante. Su complejidad es constante.

Publicación traducida automáticamente

Artículo escrito por AyushSaxena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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