#include #include using namespace std; #include "ColaDePrioridad.h" #define INFINITO numeric_limits::infinity() int main() { ColaDePrioridad cp(10); // Inicialmente representa una cola de prioridad vacia // Al constructor se le da un argumento que indica la capacidad que se necesita // Capacidad 10 permite insertar posteriormente identificadores entre 0 y 9 ambos inclusive // Para insertar elementos por primera vez hay que utilizar el metodo insertar // Su primer argumento es el identificador del elemento, de tipo int, entre 0 y capacidad - 1 // Su segundo argumento es su prioridad, de tipo float, y se supone no negativa cp.insertar(5, 800.5); cp.insertar(9, 200); cp.insertar(7, 0); cp.insertar(0, 600); cp.insertar(3, INFINITO); // Para cambiar la prioridad de un elemento hay que utilizar el metodo cambiarPrioridad // Su primer argumento es el identificador del elemento, insertado previamente con el metodo insertar // Su segundo argumento es su nueva prioridad, de tipo float, y se supone no negativa cp.cambiarPrioridad(5, 400); cp.cambiarPrioridad(7, INFINITO); // El metodo estaVacia devuelve un booleano que indica si la cola de prioridad esta vacia while (! cp.estaVacia() ) { // Si la cola de prioridad no esta vacia, el metodo eliminarMinimo elimina el elemento de minima prioridad y devuelve su identificador int mejor = cp.eliminarMinimo(); cout << mejor << endl; } }