Skip to content

15Galan/datalib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Banner (claro) Banner (oscuro)

Pequeña librería en C para el manejo de diversas estructuras de datos


Insignia de 42 Tiempo

datalib

Una estructura de datos​ es una forma particular de organizar información para que pueda ser utilizada de manera eficiente. Diferentes tipos de estructuras de datos son adecuados para diferentes tipos de aplicaciones, y algunos de ellos son altamente especializados para tareas específicas.1

Esta librería contiene diversas estructuras de datos y funciones para su manejo.

Note

Compatible con los proyectos de 42 The Network.
El código cumple la Norma (v3.x) y las directrices de la escuela.

Estructuras de datos

Se muestran a continuación las estructuras de datos incluidas en la librería.

Important

La librería mejorará con el tiempo, añadiendo nuevas estructuras de datos y funciones.

Listas

Doblemente Enlazadas


Doblemente Enlazada (oscuro) Doblemente Enlazada (claro)

Consiste en una lista enlazada en la que cada nodo apunta al anterior y al siguiente.

Características

  • Recorrer la lista en ambos sentidos.
  • Obtener los extremos desde cualquier nodo.
  • Modificar un nodo en cualquier posición de la lista.

Estructura

  • El primer nodo apunta a NULL como nodo anterior.
  • El último nodo apunta a NULL como nodo siguiente.

Doblemente Enlazadas Circulares


Doblemente Enlazada (oscuro) Doblemente Enlazada (claro)

Consiste en una lista doblemente enlazada en la que el último nodo apunta al primero y viceversa.

Características

  • Recorrer la lista en ambos sentidos.
  • Obtener los extremos desde cualquier nodo.
  • Modificar un nodo en cualquier posición de la lista.
  • No hay un nodo final, tras el último nodo se encuentra el primero.
  • Si la lista tiene 1 solo nodo, el nodo apunta a sí mismo.

Estructura

  • El primer nodo apunta al último nodo.
  • El último nodo apunta al primer nodo.
  • Ningún nodo apunta a NULL.

Colas


Cola (oscuro) Cola (claro)

Consiste en una lista enlazada en la que cada nodo apunta al siguiente, y donde los únicos nodos relevantes son el primero y el último

Important

Esta es una estructura de datos FIFO (First In, First Out).

Características

  • Solo se pueden añadir nodos al inicio.
  • Solo se pueden eliminar nodos por el final.
  • Los nodos intermedios no son accesibles.
  • No se pueden modificar nodos.

Estructura

  • El último nodo apunta a NULL como nodo siguiente.

Pilas


Pila (oscuro) Pila (claro)

Consiste en una lista enlazada en la que cada nodo apunta al siguiente, y donde el único nodo relevante es el tope de la pila (primero).

Important

Esta es una estructura de datos LIFO (Last In, First Out).

Características

  • Solo se pueden añadir nodos sobre el tope.
  • Solo se puede eliminar el tope de la pila.
  • Los nodos intermedios y final no son accesibles.
  • No se pueden modificar nodos.

Estructura

  • El último nodo apunta a NULL como nodo siguiente.

Conjuntos


Conjunto (oscuro) Conjunto (claro)

Consiste en una lista enlazada en la que cada nodo apunta al siguiente, y donde no se admiten nodos repetidos.

Características

  • No se pueden añadir nodos repetidos.
  • Se pueden aplicar operaciones de teoría de conjuntos2.

Estructura

  • El último nodo apunta a NULL como nodo siguiente.

Footnotes

  1. Wikipedia: estructuras de datos

  2. Wikipedia: conjuntos