Buenas, para el procedimiento desencolar, se me ocurrió esta implementación que es un poco distinta a la de las soluciones y quería saber si estaba bien.
Gracias
void desencolar(ColaPrio & cp){
cp->cant--;
nodo* aux=cp->primero;
nodo *borr;
if(aux->elem==cp->min){
borr=cp->primero;
cp->primero=cp->primero->sig;
delete borr;
}
else{
while(aux->sig->elem!=cp->min)
aux=aux->sig;
borr=aux->sig;
aux->sig=borr->sig;
delete borr;
}
if(cp->cant > 0){
aux=cp->primero;
cp->min=aux->elem;
aux=aux->sig;
while(aux!=NULL){
if(aux->elem<cp->min)
cp->min=aux->elem;
aux=aux->sig;
}
}