Buenas!
Cómo va?
Mi duda es la siguiente:
Si tengo un puntero "q" de nodos pero en un principio está "apuntando" a NULL, y defino otro "qR" que apunte a q, si yo empiezo a generar una lista a partir de "qR", al momento de retornar q, ¿devuelve la dirección del primer elemento de la lista qR?
Me hace ruido porque entiendo que al apuntar a NULL, la sentencia qR = q no haría que qR apunte a un espacio de memoria (el mismo que el de q) sino que estaría indicando que qR no apunta a nada.
Dejo el código para ejemplificar:
lista take(uint i, lista l){
uint cont = 0;
lista q;
if (l == NULL) q = NULL;
else{
lista qR = q;
while(l != NULL && cont < i){
qR = new nodo;
qR->elem = l->elem;
qR = qR->sig;
l = l->sig;
i++;
}
qR = NULL;
}
return q;
}
La idea de esto era guardar el primer elemento para retornar la lista, en caso de que esté mal podría ver el caso donde no hay elementos y a partir de ahí si ejecutar qR = q una única vez ya que me guardaría el espacio de memoria del primer elemento de la lista y podría retornarlo sin problemas.
También si se ve algún error en el razonamiento o mismo en el código les agradezco que me lo hagan saber.
Saludos,
Joel