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; } }
|