Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/steveklabnik/rust-adt
A collection of abstract data types, written in Rust
https://github.com/steveklabnik/rust-adt
Last synced: 23 days ago
JSON representation
A collection of abstract data types, written in Rust
- Host: GitHub
- URL: https://github.com/steveklabnik/rust-adt
- Owner: steveklabnik
- License: bsd-3-clause
- Created: 2014-10-30T04:29:56.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2016-02-12T15:44:18.000Z (almost 9 years ago)
- Last Synced: 2024-11-01T01:24:30.519Z (2 months ago)
- Language: Rust
- Homepage:
- Size: 20.5 KB
- Stars: 5
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rust-adt [![Build Status](https://travis-ci.org/indiv0/rust-adt.svg?branch=master)](https://travis-ci.org/indiv0/rust-adt)
A collection of [abstract data types](http://en.wikipedia.org/wiki/Abstract_data_type), written in Rust.## Purpose
This project is intented to help me learn and experiment with Rust concepts.
It is also meant to help me keep track of breaking Rust changes, and how to fix them.
## ADTs
### Implemented* Stack
* `Vec` Stack
* `DList` Stack
* Queue
* `DList` Queue### TBD
* List
* `Vec` List
* BTree### Won't Implement
I won't be implementing Linked Lists here.
Singly linked lists in Rust are [difficult to do](http://people.mozilla.org/~lbergstrom/Korea2013/RustPatterns.pdf) and provide almost no memory/speed advantage over doubly linked lists.
Doubly linked lists are difficult to implement, but a very concise and powerful implementation is available in the rust standard library as [DList](https://github.com/rust-lang/rust/blob/master/src/libcollections/dlist.rs).