3. Descripción de las estructuras de datos desarrolladas - MAU143429/Datos-Party-CE-1103 GitHub Wiki
Circular List
Descripción: Una lista circular es una especie de lista enlazada simple o doblemente enlazada, pero que posee una característica adicional para el desplazamiento dentro de la lista, esta no tiene fin. Para que la lista sea sin fin, el puntero siguiente del último elemento apuntará hacia el primer elemento de la lista en lugar de apuntar al valor NULL.
Implementación: Esta estructura de datos lineal se implementa a la hora de crear el tablero, esto se da para que los jugadores tengan una trayectoria en un solo sentido y que al llegar al final se pueda devolver al punto inicial.
Circular Node
Descripción: Esta clase nos permite crear los nodos para la lista circular.
Implementacion: La forma de implementar esta estructura es que, crea los nodos asociados a la lista circular, y su particularidad es que el último nodo es enlazado con el head de la lista para que nunca tenga fin.
Double Linked Circular List
Descripción: La listas circulares doblemente enlazadas tiene propiedades de tanto la lista doblemente enlazada como la lista circualar, lo que significa que en esta lista que un nodo tiene una referencia apuntando al nodo de atrás ademas de que la lista no tiene fin ya que el último nodo apunta al head.
Implementación: Esta estructura de datos lineal se implementó a la hora de crear la fase D, que es la etapa a la que únicamente se va a poder llegar teletransportandose desde el tablero.
Double Linked Circular Node
Descripción: Esta clase, nos permite crear los nodos referentes a la lista circular doblemente enlazada.
Implementación: La forma de implementar esta estructura es que, crea los nodos asociados a la lista circular doblemente enlazada, y su particularidad es que los nodos tienen una referencia asociada con el nodo de atrás y el último nodo de la lista tiene otra referencia asociada al head.
Double Linked List
Descripción: Las listas doblemente enlazadas consisten en una estructura de datos lineal que tiene la particularidad de que los nodos de la lista tienen una referencia al nodo anterior, lo cual a diferencia de la lista simplemente enlazada que solo cuenta con nodos que referencian al nodo siguiente, esta estructura se puede devolver.
Implementación: La forma de implementrar esta estructura de datos linal es que se utilizó para la fase C, ya que se ocupa que se recorra en ambos lados.
Double Linked Node
Descripción: Esta clase nos permite agregar nodos a la lista doblemente enlazada.
Implementación: La forma de implementar esta lista, es que se crea un node prev y un node next, lo cual va a implicar que el node prev estará asociado al nodo anterior y el node next estará asociado al nodo siguiente.
Linked List
Descripción: Una lista enlazada simple es una estructura de datos en la que cada elemento apunta al siguiente. De este modo, teniendo la referencia del principio de la lista podemos acceder a todos los elementos de la misma.
Implementación: Esta lista fue implementada para crear la fase A y la fase B.
Linked Node
Descripción: Esta clase nos permite agregar los nodos a la lista simplemente enlazada.
Implementación: La forma de implementar esta estructura de datos lineal, es básicamente que se crea un nodo el cual va a tener una referencia llamada next, y esta referencia va a apuntar al nodo siguiente, y si este está apuntando a NULL, lo agrega en la lista como el último nodo.
Pila
Descripción: Una pila es una estructura de datos lineal que sigue el orden de LIFO (Last In First Out). Se puede tomar como un ejemplo de la vida real el hecho de apilar platos, cuando se apilan platos se van llenando de abajo para arriba y se suele quitar el último en entrar, o sea el que está más arriba, aqui es donde viene el concepto de LIFO.
Implementación: Se implementó esta estructura de datos lineal para el almacenamiento de los eventos.