Bienvenidos sean a este post, en el post anterior hemos visto que las tablas pueden ser utilizadas como matrices o arrays multidimensionales pero las tablas son entidades dinamicas y esto nos facilita el poder implementar listas enlazadas en Lua donde cada nodo es representada por una tabla y los enlaces son simplemente campos de tablas que contienen referencias a otras tablas, por ejemplo para implementar una lista basica cada nodo tiene dos campos, proximo y valor, y creamos una variable que sera la raiz de la lista:

lista = nil
Anuncios

Para insertar un elemento al comienzo de la lista con un valor v haremos esto:

lista = { proximo = lista, valor = v }

Para atravesar la lista, utilizamos:

local l = lista
while l do
	< visita l.valor >
	l = l.proximo
end

Otros tipos de listas como las doble-enlazadas o las listas circulares son tambien implementadas facilmente, sin embargo rara vez necesitas estas estructuras en Lua porque usualmente existen formas mas simples de representar tu informacion sin usar listas enlazadas, otro ejemplo puede ser representar una pila con un array ilimitado.

Anuncios

En resumen, hoy hemos hablado de otra estructura de datos estandar como es listas enlazadas, como se puede implementar en LUA y como podria ser utilizada pero como dijimos en este lenguaje existen otras herramientas mas simples que estas, espero les haya sido util sigueme en Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Tambien podes donar

Es para mantenimiento del sitio, gracias!

$1.00