Ejercicio 5 práctico 3

Ejercicio 5 práctico 3

de Renzo Minelli Mutti -
Número de respuestas: 8

Hola, la verdad es que no termino de entender la estructura de la lista. Veo que se conectan de una forma muy compleja, no entiendo a donde apunta el nodo primero. Y como se maneja la posición dentro de la lista

En respuesta a Renzo Minelli Mutti

Re: Ejercicio 5 práctico 3

de Maria Alejandra Galetta Paz -

Hola buenas tardes, a mi tambien me surgieron dudas respecto a la estructura de la lista indizada. 

La letra dice que usemos el esquema de la lista doblemente encadenada, entonces para ver las posiciones habría que agregarle un campo a la estructura, como de la siguiente forma:

struct nodo_doble {

int elem ; 

unsigned int pos;

nodo_doble * sig ; 

nodo_doble * ant ; 

}; 

typedef nodo_doble * lista ;

Yo use esta estructura para hacer las funciones pero no estoy segura si es así, o hay que agregar a la funciones un contador para poder llevar la cuenta de las posiciones.

Muchas gracias

En respuesta a Maria Alejandra Galetta Paz

Re: Ejercicio 5 práctico 3

de Matias Richart -

Hola.

La estructura que propones es  correcta.

Igualmente, te comento que en este caso con una lista doblemente enlazada sería suficiente. Lo que se debe hacer en cada función que recibe una posición p, es recorrer la lista hasta esa posición y hacer lo solicitado (insertar, remover, ver si el elemento existe).

Espero se entienda.

Saludos

En respuesta a Matias Richart

Re: Ejercicio 5 práctico 3

de Maria Alejandra Galetta Paz -
Hola muchas gracias por tu respuesta, al final si lo hice, buscando la posición ayudándome con una variable auxiliar, porque con la estructura que había propuesto, se me complicaba en el momento de agregar o sacar un nodo ya que tenía que actualizar ese cambios en los restantes de la lista.


En respuesta a Renzo Minelli Mutti

Re: Ejercicio 5 práctico 3

de Matias Richart -

Puede ser que te estés confundiendo con la estructura del Ejercicio 6?

Si es así, capaz que el video del Ejercicio 6 te ayuda con esto.


En respuesta a Matias Richart

Re: Ejercicio 5 práctico 3

de Gonzalo Tabares Gargiulo -
El la figura 3 del practico 5 que indica que es una lista indizada no sería un struct con cabezal mas que indizada?
No muestra como es una lista indizada
En respuesta a Gonzalo Tabares Gargiulo

Re: Ejercicio 5 práctico 3

de Federico Andrade -
Hola Gonzalo,
Supongo que te referís a la figura 3 del práctico 3. El concepto de lista indizada refiere al comportamiento sobre la lista, más a a la estructura. Para el ejercicio 5, como plantean Matías y Alejandra unos post antes, el conteo de la posición de la lista lo podes hacer con una variable que no forme parte de la estructura. Esto no quita que se podría hacer una implementación donde la propia estructura mantenga indizadas las posiciones. En ese caso (ejercicio 5), el manejo de la posición se hace en forma explícita.
Sin embargo en el ejercicio 6, se propone una lista con manejo de posiciones implícito. En este no se asigna una posición fija los elementos, sino que el índice lo que indica es la posición actual (que va variando). Tomando como referencia esta posición es que se pueden ejecutar acciones sobre la lista. Para este tipo de manejo de posiciones, la propuesta de estructura de la figura 3 del práctico 3 es adecuada.
Espero haber aclarado, sino la seguimos.
Saludos
La lista indizada es un concepto de comportamiento que tiene varias posibles implementaciones.