martes, 22 de febrero de 2011

Repaso a las estructuras de datos en C

Bien, las estructuras de datos son una aplicación muy interesante de la memoria dinámica.

Teniendo ya una base de estructuras, punteros y alguna idea sobre listas enlazadas explico un poco como van algunos tipos:


Listas enlazadas simples
Son listas en las que solo podemos avanzar hacia delante, puesto que manejamos un puntero "siguiente" para ir accediendo a cada elemento a partir del inicial. Por eso, tenemos que conservar el valor del puntero del primer elemento.


Listas doblemente enlazadas
Son listas iguales que las anteriores, pero además tenemos un puntero "anterior" apuntando al elemento anterior (lógicamente?). Gracias a esto podemos recorrerlas en los dos sentidos (del primero al último y del último al primero), pero como en las simples debemos conservar siempre el valor del puntero del primer elemento.


Listas circulares
Estas listas por así decirlo tienen "unidos" el primer y el último elemento, esto es, cuando acaba, el elemento siguiente al último no es NULL, es el primero otra vez.












Pilas
Estas estructuras son como la simulación de la stack (son estructuras LIFO, Last In First Out). Sobre ellas podemos hacer dos operaciones: push y pop. Con push añadimos un elemento al final de la pila, y con pop lo leemos al mismo tiempo que lo eliminamos.









Colas
Las colas son estructuras FIFO (First In First Out). Los elementos se añaden por un lado de la cola y se eliminan por el otro.















Y estas son las estructuras dinámicas más básicas en C.


Espero que sea útil para los iniciados!

bytez

5 comentarios:

Tambien existen las listas circulares doblemente-enlazadas asi para rizar el rizo xD.

Saludos!

Hombre, poder puede existir cualquier cosa que se te ocurra a partir de estas xD

Luego también hay árboles, árboles binarios, árboles AVL...

Buenas,Xassiz.

Hace poco me inicie en C,y bueno en mis blog tengo varios códigos de como voy avanzando,me gustaria saber si podes colocar algun manual o algo sobre el uso de punteros.


Saludos y gracias de antemano.

Hola, mira para aprender C lo que te recomiendo es que compres un buen libro, nada de "tutoriales" de punteros, y cosas así, los libros es donde aprendes realmente, con las cosas detalladas al cien por cien :)

Saludos!

Pero yo soy pobre XD

Nah,es broma soy más o menos pobre,igualmente gracias,cuando pueda comprare uno.


Por cierto,si te interesa ver algun código básico pasate por mi blog :P

Incluso cree un conversor decimal a binario :P

saludos :D

Publicar un comentario