uses template var
This commit is contained in:
parent
f5e916db5d
commit
1f9edfc3ea
@ -1,4 +1,4 @@
|
||||
pub fn heapify(input: &mut [i32], idx: usize) {
|
||||
pub fn heapify<T: std::cmp::PartialOrd>(input: &mut [T], idx: usize) {
|
||||
let left = 2 * idx + 1;
|
||||
let right = 2 * idx + 2;
|
||||
|
||||
@ -18,14 +18,14 @@ pub fn heapify(input: &mut [i32], idx: usize) {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn build_initial_heap(input: &mut [i32]) {
|
||||
pub fn build_initial_heap<T: std::cmp::PartialOrd>(input: &mut [T]) {
|
||||
(0..(input.len() / 2))
|
||||
.into_iter()
|
||||
.rev()
|
||||
.for_each(|x| heapify(&mut *input, x));
|
||||
}
|
||||
|
||||
pub fn heapsort(input: &mut [i32]) {
|
||||
pub fn heapsort<T: std::cmp::PartialOrd>(input: &mut [T]) {
|
||||
build_initial_heap(&mut *input);
|
||||
let mut end = input.len();
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
pub fn selection_sort(input: &mut Vec<i32>) {
|
||||
pub fn selection_sort<T: std::cmp::PartialOrd>(input: &mut [T]) {
|
||||
let list_len = input.len();
|
||||
|
||||
for i in 0..list_len - 1 {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user