Dobles punteros en C
Publicado por Gonzalo (1 intervención) el 06/12/2019 20:33:01
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.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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;
}
}
Valora esta pregunta


0