#include #include using namespace std; #include "ColaDePrioridadDecrementable.h" ColaDePrioridadDecrementable::ColaDePrioridadDecrementable(int identificadorMaximo) : prioridad{vector(identificadorMaximo + 1)}, talla{0} { } void ColaDePrioridadDecrementable::insertar(int identificador, float prioridadInicial) { prioridad[identificador] = prioridadInicial; talla++; } void ColaDePrioridadDecrementable::cambiarPrioridad(int identificador, float nuevaPrioridad) { prioridad[identificador] = nuevaPrioridad; } int ColaDePrioridadDecrementable::eliminarMinimo() { int identificadorMinimo = 1; for (int identificador = 2; identificador < prioridad.size(); identificador++) if (prioridad[identificador] < prioridad[identificadorMinimo]) identificadorMinimo = identificador; prioridad[identificadorMinimo] = numeric_limits::infinity(); talla--; return identificadorMinimo; } bool ColaDePrioridadDecrementable::estaVacia() const { return talla == 0; }