ADTs Library

ADTs Library cover

Custom library of Abstract Data Types (ADTs) implemented in C. Each ADT has been designed by me to emulate the STL, with improved speed and efficiency.

Included structures

  • Linked lists
  • Doubly linked lists
  • Stacks
  • Queues
  • Vectors
  • Circular vectors
Linked List
Linked List

Each node contains data and a pointer to the next node in the data structure.

It stores elements of the same type in sequential order, allowing different operations to be performed on the list.

Doubly Linked List
Doubly Linked List

Each node contains data, a pointer to the next node in the data structure, and another pointer to the previous node.

It stores elements of the same type in sequential order, allowing different operations to be performed on the list.

Queue
Queue

A data structure that follows the FIFO (First-In, First-Out) principle: the first element added is the first one to be removed.
Elements are added at the back (enqueue) and removed from the front (dequeue).

Stack
Stack

A data structure that follows the LIFO (Last-In, First-Out) principle: the last element added is the first one to be removed.
Elements can only be inserted at the top, and only the element currently at the top can be removed.

Vector
Vector

Implements a fixed-size dynamic array that stores memory nodes.
Provides sequential and random access to elements, with automatic memory management.

Circular Vector
Circular Vector

A fixed-size dynamic array that stores memory nodes. The last node is connected to the first one, allowing the vector to be traversed circularly and 'infinitely'.
Provides sequential and random access to elements, with automatic memory management.