[C con Clase] lista de listas

Steven Davidson srd4121 en njit.edu
Sab Mar 5 19:25:05 CET 2011


Hola Wolf,

On 3/5/2011 12:54 PM, wolf wrote:
> El pasado 2011-03-05 17:46:55, Leonardo escribió:
>
> L>  class A {}
> L>  ...
> L>  #include<list>
> L>  ...
> L>  list<  list<A>  >  l;
> L>  ¿es eso?
> L>  --
>
> segun tengo entendido en una lista de listas se pueden combinar x
> ejemplo dos tipos de objetos diferentes en una sola lista que los
> contenga pero necesito saber como se implementaria eso cuantos nodos
> usaria

No es una definición correcta de una "lista de listas". La definición de 
una lista - dinámicamente enlazada - se puede aplicar a cualquier tipo 
de información que se quiera guardar. La lista puede ser de enteros, 
cadenas de caracteres, direcciones de memoria, pero también puede 
contener objetos de diversos tipos como puede ser una lista, un árbol, 
un grafo, etc..

Si quieres diseñar una lista para cualquier tipo de dato, entonces C++ 
ofrece esta característica llamada "plantillas". Esto es básicamente lo 
que te presentó, Leonardo. La clase-plantilla estándar 'list' sirve para 
generar clases según los parámetros de la plantilla. Si necesitas una 
lista de listas de enteros, entonces puedes escribir:

list< list<int> > listaListaEnteros;

Si necesitas una lista de listas de listas de objetos de la clase 
'Punto4D' que has diseñado, entonces puedes instanciarla de esta manera:

list< list< list<Punto4D> > > listaListaListaPuntos;

Para un ejemplo de una clase-plantilla en C++, puedes consultar el 
primer capítulo de nuestro curso de "Estructuras Dinámicas de Datos" en 
nuestra página yendo a: http://c.conclase.net/edd/index.php?cap=001h#1_11


Espero que esto te oriente.

Steven





Más información sobre la lista de distribución Cconclase