qsort_rs/
lib.rs

1//! qsort-rs: A quick sort algorithm that accepts any type and non-recursive approach.
2//!
3//! ## How to use this function
4//!
5//! ```rust
6//! use qsort_rs::qsort;
7//!
8//! #[derive(Ord, PartialEq, PartialOrd, Eq, Debug)]
9//! struct Student {
10//!     name: String,
11//!     age: u32,
12//!     gender: String,
13//! }
14//!
15//! let mut arr = [
16//!     Student {
17//!         name: String::from("Zed"),
18//!         age: 3,
19//!         gender: String::from("Male"),
20//!     },
21//!     Student {
22//!         name: String::from("Aubrey"),
23//!         age: 13,
24//!         gender: String::from("Female"),
25//!     },
26//!     Student {
27//!         name: String::from("Jaime"),
28//!         age: 6,
29//!         gender: String::from("Male"),
30//!     },
31//!     Student {
32//!         name: String::from("Irene"),
33//!         age: 8,
34//!         gender: String::from("Female"),
35//!     },
36//!     Student {
37//!         name: String::from("Ren"),
38//!         age: 9,
39//!         gender: String::from("Male"),
40//!     },
41//! ];
42//!
43//! qsort::sort(&mut arr, |low, high| low.name <= high.name);
44//!
45//! assert_eq!(
46//!     arr,
47//!     [
48//!         Student {
49//!             name: "Aubrey".to_string(),
50//!             age: 13,
51//!             gender: "Female".to_string()
52//!         },
53//!         Student {
54//!             name: "Irene".to_string(),
55//!             age: 8,
56//!             gender: "Female".to_string()
57//!         },
58//!         Student {
59//!             name: "Jaime".to_string(),
60//!             age: 6,
61//!             gender: "Male".to_string()
62//!         },
63//!         Student {
64//!             name: "Ren".to_string(),
65//!             age: 9,
66//!             gender: "Male".to_string()
67//!         },
68//!         Student {
69//!             name: "Zed".to_string(),
70//!             age: 3,
71//!             gender: "Male".to_string()
72//!         }
73//!     ]
74//! )
75//! ```
76//!
77pub mod qsort;
78#[cfg(test)]
79mod tests;