rust_linked_list 0.1.0

implementation of various data structures using linked lists in rust
Documentation
  • Coverage
  • 0%
    0 out of 36 items documented0 out of 31 items with examples
  • Size
  • Source code size: 19.22 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 8.63 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 13s Average build duration of successful builds.
  • all releases: 13s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • EMachad0/rust_linked_list
    3 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • EMachad0

Rust Linked List

This crate aims to provide implementations of several data structures using linked lists as their underlying data structure

Currently, the implemented data structures are:

  • Stack
  • Functional List
  • Queue
  • Double Linked List (TODO)

Why Linked Lists?

I hate linked lists. With a passion. Linked lists are terrible data structures. 99% of the time you should just use a Vec (array stack), and 99% of the other 1% of the time you should be using a VecDeque (array deque). These are blatantly superior data structures for most workloads due to less frequent allocation, lower memory overhead, true random access, and cache locality.

Linked lists are as niche and vague of a data structure as a trie. Few would balk at me claiming a trie is a niche structure that your average programmer could happily never learn in an entire productive career -- and yet linked lists have some bizarre celebrity status. We teach every undergrad how to write a linked list. It's the list in C++!

We should all as a community say no to linked lists as a "standard" data structure. It's a fine data structure with several great use cases, but those use cases are exceptional, not common.

TO-DO Linked List

  • Stack
  • Functional List
  • Queue
  • Double-Linked List
  • Tests
  • Examples
  • Documentation
  • Comply to Rust Api Guidelines