[ Foro de C ]

Punteros Dobles en C

06-Dec-2019 20:30
Gonzalo Ramirez
0 Respuestas

Hola, alguien me puede dar una ayuda con este código de insertar ordenado en una lista? , no logro comprender el nodo** lista, por que se pasa como doble puntero? que función cumple.


void insertar_ordenado (nodo** lista, elemento e){
    nodo* actual;
    nodo* anterior;
    nodo* nuevo = malloc(sizeof(nodo));
    nuevo->e=e;
    actual=*lista;
    anterior=NULL;
    while(actual!=NULL && actual->e.dni < e.dni){
         anterior=actual;
         actual=actual->sig;
    }
    if(anterior!=NULL){
         anterior->sig=nuevo;
         nuevo->sig=actual;
    }else{
         nuevo->sig=*lista;
         *lista=nuevo;
   }
}




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)