uses template var

This commit is contained in:
hendrik 2024-06-29 07:48:49 +02:00
parent f5e916db5d
commit 1f9edfc3ea
2 changed files with 4 additions and 4 deletions

View File

@ -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();

View File

@ -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 {