Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: mapers en 28 Marzo 2011, 07:50 am



Título: ficheros en listas enlazadas
Publicado por: mapers en 28 Marzo 2011, 07:50 am
Buenas señores tengo una duda haber .............con arreglo de estructuras se que se usa en algunos casos sizeof(buffer) para conoces el tamaño del arreglo que poseen todas las estructuras .ya ahora mi duda es  se usa el mismo sizeof(buffer) en una lista enlazada o no es necesiro o se usa otro metodo mmmm.........


Título: Re: ficheros en listas enlazadas
Publicado por: Akai en 28 Marzo 2011, 08:08 am
En una lista enlazada no puedes hacer eso, bueno, si lo puedes hacer, pero no en los términos de obtener el resultado esperado.

Si lo haces sobre un array, te dará el tamaño de dicho array porque está situado en zonas de memoria contiguas.

PERO con listas enlazadas, esto no se cumple, ya que la inserción de cada nodo pudo haber sido contigua o no pero no cuentan como la misma estructura (array), y por tanto, no están en zonas contiguas de memoria.

Necesitas de alguna forma guardar el tamaño de tu lista. Alguna variable que incrementa cada vez que añades un nodo.

PD: array = tipo[]


Título: Re: ficheros en listas enlazadas
Publicado por: mapers en 28 Marzo 2011, 09:31 am
listo men gracias :D entonces tendre que pensar en otra forma de hacerlo :D


Título: Re: ficheros en listas enlazadas
Publicado por: D4RIO en 28 Marzo 2011, 14:09 pm
Agrego:

Guardar el tamaño de la lista es la forma más performante de devolverlo cuando se solicita, pero bien puedes calcularlo recorriendo la lista hasta alcanzar el último nodo (donde next == NULL)