EJercicio 3 parte a - Como "retorno" una lista?

EJercicio 3 parte a - Como "retorno" una lista?

de Nahuel Senaque Lopez Areco -
Número de respuestas: 1

Lo que se me ocurre es si, por ejemplo, quisiera hacer una funcion que haga que una lista sea igual a otra, hacer un void asi:

void copiar(Lista original, Lista copia){...};

Y ahi adentro copiar nodo por nodo. Se llamaria al procedimiento normalmente, asi:

copiar(l1, l2);

Ahora bien, al hablar de retornar (return) yo entiendo que tendria que quedar algo tal que asi:

l2 = copia(l1);

Y no con un cabezal void sino con uno Lista:

Lista copia(Lista l){
   ...
   return listaCopia;}

Pero hasta donde se no es posible hacer esto ultimo en C++, entonces... como seria?


Saludos

En respuesta a Nahuel Senaque Lopez Areco

Re: EJercicio 3 parte a - Como "retorno" una lista?

de Gaston Notte -
Hola Nahuel, en este ejercicio se te pide que hagas procedimientos (void) recursivos, no funciones, por lo que no tienes que retornar nada.
En este ejercicio no necesitas copiar ninguna lista, simplemente debes agregar (partes I e II) o eliminar (parte III) nodos a la lista que te pasan por referencia.
Si para algún otro ejercicio necesitas hacer una copia de una lista, perfectamente puedes hacer una función que reciba una lista y retorne una nueva lista que es copia de la primera (deberás crear tantos nodos como tenga la lista que quieres copiar). Lista es un puntero, la podrás devolver sin problemas.