sort

sort algorithms

16 releases(8 breaking)

 0.8.5 Jul 12, 2021 Apr 17, 2021 May 21, 2020 Nov 22, 2014

#573 in Algorithms

Used in 3 crates

MIT/Apache

13KB
374 lines

rust-sort

sort algorithms

exchange sorts

bubble sort

``````extern crate sort;

use sort::bubble_sort;

fn main() {
let mut data = vec![5, 4, 3, 2, 1];
bubble_sort(&mut data);
assert_eq!(data, [1, 2, 3, 4, 5]);
}
``````

quicksort

``````extern crate sort;

use sort::quicksort;

fn main() {
let mut data = vec![5, 4, 3, 2, 1];
quicksort(&mut data);
assert_eq!(data, [1, 2, 3, 4, 5]);
}
``````

selection sorts

selection sort

``````extern crate sort;

use sort::selection_sort;

fn main() {
let mut data = vec![5, 4, 3, 2, 1];
selection_sort(&mut data);
assert_eq!(data, [1, 2, 3, 4, 5]);
}
``````

heapsort

``````extern crate sort;

use sort::heapsort;

fn main() {
let mut data = vec![5, 4, 3, 2, 1];
heapsort(&mut data);
assert_eq!(data, [1, 2, 3, 4, 5]);
}
``````

insertion sorts

insertion sort

``````extern crate sort;

use sort::insertion_sort;

fn main() {
let mut data = vec![5, 4, 3, 2, 1];
insertion_sort(&mut data);
assert_eq!(data, [1, 2, 3, 4, 5]);
}
``````

merge sorts

merge sort

``````extern crate sort;

use sort::merge_sort;

fn main() {
let mut data = vec![5, 4, 3, 2, 1];
let result = merge_sort(&mut data);
assert_eq!(result, [1, 2, 3, 4, 5]);
}
``````

hybrid sorts

introsort

``````extern crate sort;

use sort::introsort;

fn main() {
let mut data = vec![5, 4, 3, 2, 1];
introsort(&mut data);
assert_eq!(data, [1, 2, 3, 4, 5]);
}
``````