Duda con removeAll ejercicio 4.V

Duda con removeAll ejercicio 4.V

de Carlos Eduardo Colmenares Chirinos -
Número de respuestas: 1

Estaba analizando el codigo del ejercicio 4 parte V removeAll y la explicacion del video, pero me surgen 2 dudas, si el ejercicio pide que devuelva la lista sin los elementos eliminados la funciona debe comenzar por "lista" en lugar de void ¿no? y otra duda es, ¿que pasa si el elmento esta justo en la ultima posicion? ya que al ver el if(lpos->ant !=NULL){ lpos->ant->sig = lpos->sig; } entiendo que lpos->ant->sig quedaria apuntado a NULL entonces no entraria al if(lpos->sig !=NULL) para eliminar el elemento. ¿estoy entendiendo mal este caso?

Escribi el codigo asi guiandome del video:

4bv


En respuesta a Carlos Eduardo Colmenares Chirinos

Re: Duda con removeAll ejercicio 4.V

de Libertad Tansini -

Hola, la forma de devolver la lista l modificada en este caso es pasarla por referencia con & y de este modo luego de la invocación al procedimiento la lista que se pasó como parámetro estará modificada de forma que ya no contenga los elementos que coincidan con x.

La ventaja de pasar l por referencia es que no hay dudas sobre si se modifica el parámetro de entrada o no, sabemos que se va a hacer de esa forma.

saludos, libertad