Merge pull request #3 from nassersaazi/main

Improve documentation
pull/5/head
Hamothy 3 years ago committed by GitHub
commit f85b449e66
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -9,8 +9,8 @@
## Table of Contents ## Table of Contents
- [Personal Goals](#Personal-Goals)
- [About](#About) - [About](#About)
- [Personal Goals](#Personal-Goals)
- [Quick Start](#Quick-Start) - [Quick Start](#Quick-Start)
- [License](#License) - [License](#License)
- [Contributing](#Contributing) - [Contributing](#Contributing)
@ -34,7 +34,7 @@ I have made this library with the personal goals of learning and solidifying con
, `generics` and `lifetimes`. I cannot promise that the implementations are particularly efficient, or if they are, it , `generics` and `lifetimes`. I cannot promise that the implementations are particularly efficient, or if they are, it
was not at the forefront of my mind. was not at the forefront of my mind.
That being said, there are some areas I would love to improve upon/include: That being said, there are some areas I would love to improve upon which include:
- [ ] Write idiomatic code. - [ ] Write idiomatic code.
- [ ] Effectively use **macro_rules!** to reduce large portions of repetitive code. - [ ] Effectively use **macro_rules!** to reduce large portions of repetitive code.
@ -137,4 +137,4 @@ Please read the [CONTRIBUTING.md](CONTRIBUTING.md) before contributing! (Thank y
The book [Learn Rust With Entirely Too Many Linked Lists](https://rust-unofficial.github.io/too-many-lists/) inspired me The book [Learn Rust With Entirely Too Many Linked Lists](https://rust-unofficial.github.io/too-many-lists/) inspired me
to try and implement Binary Search Trees within the language. I had also been wanting to create my first library for to try and implement Binary Search Trees within the language. I had also been wanting to create my first library for
other crates to use. other crates to use.

@ -12,7 +12,7 @@
//! as **ownership**, **borrowing**, **generics** and **lifetimes**. I cannot promise that the implementations are //! as **ownership**, **borrowing**, **generics** and **lifetimes**. I cannot promise that the implementations are
//! particularly efficient, or if they are, it was not at the forefront of my mind. //! particularly efficient, or if they are, it was not at the forefront of my mind.
//! //!
//! That being said, there are some areas I would love to improve upon/include: //! That being said, there are some areas I would love to improve upon which include:
//! - Write idiomatic code. //! - Write idiomatic code.
//! - Effectively use **macro_rules!** to reduce large portions of repetitive code. //! - Effectively use **macro_rules!** to reduce large portions of repetitive code.
//! - Implement a **pretty_print()** function to display the binary search trees nicely. //! - Implement a **pretty_print()** function to display the binary search trees nicely.
@ -236,7 +236,7 @@ pub trait BinarySearchTree<T: Ord> {
/// ///
/// # Important /// # Important
/// ///
/// This is function is analogous to [in_order_vec](Self::in_order_vec()) as the underlying /// This function is analogous to [in_order_vec](Self::in_order_vec()) as the underlying
/// behaviour is **_exactly the same_.** /// behaviour is **_exactly the same_.**
fn asc_order_vec(&self) -> Vec<&T>; fn asc_order_vec(&self) -> Vec<&T>;
@ -259,7 +259,7 @@ pub trait BinarySearchTree<T: Ord> {
/// ///
/// # Important /// # Important
/// ///
/// This is function is analogous to [asc_order_vec](Self::asc_order_vec()) as the underlying /// This function is analogous to [asc_order_vec](Self::asc_order_vec()) as the underlying
/// behaviour is **_exactly the same_.** /// behaviour is **_exactly the same_.**
/// ///
/// # Example /// # Example
@ -309,7 +309,7 @@ pub trait BinarySearchTree<T: Ord> {
/// ///
/// # Important /// # Important
/// ///
/// This is function is analogous to [in_order_iter](Self::in_order_iter()) as the underlying /// This function is analogous to [in_order_iter](Self::in_order_iter()) as the underlying
/// behaviour is **_exactly the same_.** /// behaviour is **_exactly the same_.**
fn asc_order_iter(&self) -> IntoIter<&T>; fn asc_order_iter(&self) -> IntoIter<&T>;
@ -320,7 +320,7 @@ pub trait BinarySearchTree<T: Ord> {
/// ///
/// # Important /// # Important
/// ///
/// This is function is analogous to [asc_order_iter](Self::asc_order_iter()) as the underlying /// This function is analogous to [asc_order_iter](Self::asc_order_iter()) as the underlying
/// behaviour is **_exactly the same_.** /// behaviour is **_exactly the same_.**
fn in_order_iter(&self) -> IntoIter<&T>; fn in_order_iter(&self) -> IntoIter<&T>;
@ -334,7 +334,7 @@ pub trait BinarySearchTree<T: Ord> {
/// ///
/// # Important /// # Important
/// ///
/// This is function is analogous to [into_in_order_iter](Self::into_in_order_iter()) as the /// This function is analogous to [into_in_order_iter](Self::into_in_order_iter()) as the
/// underlying behaviour is **_exactly the same_.** /// underlying behaviour is **_exactly the same_.**
fn into_asc_order_iter(self) -> IntoIter<T>; fn into_asc_order_iter(self) -> IntoIter<T>;
@ -345,7 +345,7 @@ pub trait BinarySearchTree<T: Ord> {
/// ///
/// # Important /// # Important
/// ///
/// This is function is analogous to [into_asc_order_iter](Self::into_asc_order_iter()) as the /// This function is analogous to [into_asc_order_iter](Self::into_asc_order_iter()) as the
/// underlying behaviour is **_exactly the same_.** /// underlying behaviour is **_exactly the same_.**
fn into_in_order_iter(self) -> IntoIter<T>; fn into_in_order_iter(self) -> IntoIter<T>;
@ -767,7 +767,7 @@ impl<T: Ord> BinarySearchTree<T> for IterativeBST<T> {
/// ///
/// # Important /// # Important
/// ///
/// This is function is analogous to [IterativeBST::in_order_vec()] as the underlying /// This function is analogous to [IterativeBST::in_order_vec()] as the underlying
/// behaviour is **_exactly the same_.** /// behaviour is **_exactly the same_.**
/// ///
/// # Example /// # Example
@ -823,7 +823,7 @@ impl<T: Ord> BinarySearchTree<T> for IterativeBST<T> {
/// ///
/// # Important /// # Important
/// ///
/// This is function is analogous to [IterativeBST::asc_order_vec()] as the underlying /// This function is analogous to [IterativeBST::asc_order_vec()] as the underlying
/// behaviour is **_exactly the same_.** /// behaviour is **_exactly the same_.**
/// ///
/// # Example /// # Example
@ -915,7 +915,7 @@ impl<T: Ord> BinarySearchTree<T> for IterativeBST<T> {
/// ///
/// # Important /// # Important
/// ///
/// This is function is analogous to [IterativeBST::in_order_iter()] as the underlying /// This function is analogous to [IterativeBST::in_order_iter()] as the underlying
/// behaviour is **_exactly the same_.** /// behaviour is **_exactly the same_.**
/// ///
/// # Example /// # Example
@ -974,7 +974,7 @@ impl<T: Ord> BinarySearchTree<T> for IterativeBST<T> {
/// ///
/// # Important /// # Important
/// ///
/// This is function is analogous to [IterativeBST::asc_order_iter()] as the underlying /// This function is analogous to [IterativeBST::asc_order_iter()] as the underlying
/// behaviour is **_exactly the same_.** /// behaviour is **_exactly the same_.**
/// ///
/// # Example /// # Example
@ -1060,7 +1060,7 @@ impl<T: Ord> BinarySearchTree<T> for IterativeBST<T> {
/// ///
/// # Important /// # Important
/// ///
/// This is function is analogous to [IterativeBST::into_in_order_iter()] as the /// This function is analogous to [IterativeBST::into_in_order_iter()] as the
/// underlying behaviour is **_exactly the same_.** /// underlying behaviour is **_exactly the same_.**
/// ///
/// # Example /// # Example
@ -1123,7 +1123,7 @@ impl<T: Ord> BinarySearchTree<T> for IterativeBST<T> {
/// ///
/// # Important /// # Important
/// ///
/// This is function is analogous to [IterativeBST::asc_order_iter()] as the /// This function is analogous to [IterativeBST::asc_order_iter()] as the
/// underlying behaviour is **_exactly the same_.** /// underlying behaviour is **_exactly the same_.**
/// ///
/// # Example /// # Example
@ -1630,7 +1630,7 @@ impl<T: Ord> BinarySearchTree<T> for RecursiveBST<T> {
/// ///
/// # Important /// # Important
/// ///
/// This is function is analogous to [RecursiveBST::in_order_vec()] as the underlying /// This function is analogous to [RecursiveBST::in_order_vec()] as the underlying
/// behaviour is **_exactly the same_.** /// behaviour is **_exactly the same_.**
/// ///
/// # Example /// # Example
@ -1690,7 +1690,7 @@ impl<T: Ord> BinarySearchTree<T> for RecursiveBST<T> {
/// ///
/// # Important /// # Important
/// ///
/// This is function is analogous to [RecursiveBST::asc_order_vec()] as the underlying /// This function is analogous to [RecursiveBST::asc_order_vec()] as the underlying
/// behaviour is **_exactly the same_.** /// behaviour is **_exactly the same_.**
/// ///
/// # Example /// # Example
@ -1788,7 +1788,7 @@ impl<T: Ord> BinarySearchTree<T> for RecursiveBST<T> {
/// ///
/// # Important /// # Important
/// ///
/// This is function is analogous to [RecursiveBST::in_order_iter()] as the underlying /// This function is analogous to [RecursiveBST::in_order_iter()] as the underlying
/// behaviour is **_exactly the same_.** /// behaviour is **_exactly the same_.**
/// ///
/// # Example /// # Example
@ -1851,7 +1851,7 @@ impl<T: Ord> BinarySearchTree<T> for RecursiveBST<T> {
/// ///
/// # Important /// # Important
/// ///
/// This is function is analogous to [RecursiveBST::asc_order_iter()] as the underlying /// This function is analogous to [RecursiveBST::asc_order_iter()] as the underlying
/// behaviour is **_exactly the same_.** /// behaviour is **_exactly the same_.**
/// ///
/// # Example /// # Example
@ -1943,7 +1943,7 @@ impl<T: Ord> BinarySearchTree<T> for RecursiveBST<T> {
/// ///
/// # Important /// # Important
/// ///
/// This is function is analogous to [RecursiveBST::into_in_order_iter()] as the /// This function is analogous to [RecursiveBST::into_in_order_iter()] as the
/// underlying behaviour is **_exactly the same_.** /// underlying behaviour is **_exactly the same_.**
/// ///
/// # Example /// # Example
@ -2008,7 +2008,7 @@ impl<T: Ord> BinarySearchTree<T> for RecursiveBST<T> {
/// ///
/// # Important /// # Important
/// ///
/// This is function is analogous to [RecursiveBST::asc_order_iter()] as the /// This function is analogous to [RecursiveBST::asc_order_iter()] as the
/// underlying behaviour is **_exactly the same_.** /// underlying behaviour is **_exactly the same_.**
/// ///
/// # Example /// # Example
@ -2101,4 +2101,4 @@ impl<T: Ord> BinarySearchTree<T> for RecursiveBST<T> {
Node::recursive_consume_level_order_vec(self.root, &mut elements); Node::recursive_consume_level_order_vec(self.root, &mut elements);
elements.into_iter() elements.into_iter()
} }
} }

Loading…
Cancel
Save