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;