Crate lists

source · []
Expand description

Library containing various implementations of list-like data-structures such as Lists, LinkedLists, and more. All data-structures follow a sequence-like structure and can be represented as such.

Lists

pub struct SinglyLinkedList<T> { .. } // One-directional `LinkedList`.
pub struct DoublyLinkedList<T> { .. } // Two-directional `LinkedList`.
pub struct List<T> { .. } // Dynamically Allocated `List`.

Re-exports

pub use linked::singly::SinglyLinkedList;
pub use linked::doubly::DoublyLinkedList;
pub use dynamic::list::List;

Modules

Module containing data-structures that are dynamically allocated sequences, such as a List. Data-structures similar to these are the most common way to represent one-dimensional data now and days. They are very good for optimization techniques such as cache optimization, and normally have O(1) lookup times. Macros for shorthand construction of the various lists are availible within the library’s root.

Module containing data-structures that resemble LinkedLists. LinkedLists are widely unused in modern computing due the List data structure being more superior in just about every aspect now and days. Lists are much more cache-optimized that LinkedLists and their lookup times resemble O(1) time complexity, making them better for most applications. Macros for shorthand construction of the various lists are availible within the library’s root.

Macros

Shorthand syntax for creating a DoublyLinkedList. Time complexity is O(1).

Shorthand syntax for creating a List. Time complexity is O(1).

Shorthand syntax for creating a SinglyLinkedList. Time complexity is O(n).