Visual CSharp .NET - Estructuras dinámicas:Listas genéricas

 
Vista:
sin imagen de perfil

Estructuras dinámicas:Listas genéricas

Publicado por Daniel V. (6 intervenciones) el 17/12/2015 19:26:54
Hola , he estado estudiando un poco autodidacticamente y resolviendo mis dudas a traves de google, bueno al lio, estoy estancado en las listas genéricas, ya conozco las de tipo pila y tipo cola y las domino pero no hay mandera de que entienda las genericas si alguien pudiera darme referencias sobre donde pueda encontrar documentacion sobre un metodo menos engorroso de crearlas porque con el ejercicio que encontre no entiendo ni papas(abajo lo adjunto), o si alguien pudiera darme un ejemplo mas práctico lo agradeceria
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Estructuras dinámicas:Listas genéricas

Publicado por Marcelo (5 intervenciones) el 18/12/2015 15:54:33
Daniel, como estas?

Segun lo que veo en el ejercicio, estas mirando lo que se denomina linkedList (o listas linkeadas), este es un concepto muy interesante, sobre todo para aplicar en lenguajes como C.

No me queda del todo claro a lo que llamas genericas (dado que en C# existen las estructuras con Generics) la cual te permite instanciarlas para ser aplicadas sobre diferentes tipos (no están atadas a un único tipo).

En el caso puntual del ejercicio, la estructura que muestra esta atada al tipo int, aunque también podría programarse para que no dependa de ningún tipo en particular.

Si me podes dar un poco mas de idea de lo que necesitas voy a poder orientarte mejor .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Estructuras dinámicas:Listas genéricas

Publicado por Daniel V. (6 intervenciones) el 18/12/2015 17:11:19
Hola Marcelo gracias por la rápida respuesta, en realidad lo que me confunde es toda la parafernalia que tiene el ejercicio en cuanto al trabajo que se hace con los Nodos, la realidad mas me confunde el orden de los metodos pues trabaja los IF en base a Cantidad() y cantidad es uno de los ultimos metodos que define, conozco que no influye el orden, esa parte la entiendo pero es que entender que comparo todo con algo que desconozco, pues no me acaba de entrar la verdad, te agradeceria me explicarar como lograr algo parecido sin tanta complicacion(ya a eso le dedicaria tiempo luego pero no tengo suficiente conocimineto como para hacerlo ahora).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Estructuras dinámicas:Listas genéricas

Publicado por Marcelo (5 intervenciones) el 18/12/2015 17:54:31
Analizando un poco mas la clase, me doy cuenta que no es una implementacion feliz para el método Cantidad (lo que se hace es recorrer la lista contando los nodos que tiene), esa forma no solo es ineficiente de todo punto de vista, sino que puede generar mas ruido para cuando se esta aprendiendo.

Te adjunto el mismo archivo pero con los métodos movidos de lugar para que queden al mejor estilo c/c++ (primero los métodos simples y luego los métodos que llaman métodos), como para que se ordenen un poco las ideas.

Lo complejo de las listas linkeadas es entender que la lista es conformada por los mismos nodos. Si prestas atención el Nodo tiene un atributo de tipo nodo (a un objeto de su mismo tipo) y otro atributo que representa la información guardada en el nodo. La función del atributo nodo es guardar el Nodo que le sigue, entonces te queda una cadena de nodos enganchados y tu clase ListaGenerica tiene como atributo un nodo el cual representara el primero de la lista.

Por ende, para recorrer la lista lo que hay que hacer es crearse una variable del tipo nodo que la asignas al primer elemento (es cual lo tiene como atributo tu clase ListaGenerica) y en algún loop (while, for o lo que te guste) haces nodoAuxiliar = nodoAuxiliar.Siguiente;

De esa forma logras recorrer la lista de principio a fin, ahora tu sabes que llegas al final de la lista cuando nodoAuxiliar es null, dado que al hacer nodoAuxiliar.Siguiente del ultimo nodo de la lista el Siguiente no esta cargado aun.

Te adjunto ademas una imagen intentando explicar con un dibujo la lógica de la lista a ver si ayuda a clarificar. Sobre eso quizás podamos terminar de redondear la idea
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Estructuras dinámicas:Listas genéricas

Publicado por Daniel V. (6 intervenciones) el 18/12/2015 22:11:05
Gracias nuevamente por la pronta respuesta Marcelo, tambien por la explicacion detallada no he revisado los adjuntos pero entiendo toda tu explicacion y le dedicaré todo el fin de semana gracias otra vez, el lunes te digo si lo capto

pd: Eres un crack
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Estructuras dinámicas:Listas genéricas

Publicado por Daniel V. (6 intervenciones) el 23/12/2015 14:43:35
Marcelo, te lo digo de nuevo eres un crack, muchas gracias que Aclarada mi duda, saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Estructuras dinámicas:Listas genéricas

Publicado por Marcelo (5 intervenciones) el 23/12/2015 14:47:31
Me alegra saber que se entendió el tema, saludos y estamos en contacto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar