ej 3 b segundo parcial 2018

ej 3 b segundo parcial 2018

de Bruno Stefano Lombardo Palleiro -
Número de respuestas: 0

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;       

     }

}