algo/src/sorting/selection.rs

19 lines
474 B
Rust
Raw Normal View History

use sorting::*;
pub struct Sort;
impl Algorithm for Sort {
fn sort(mut vector: Vec<i32>) -> Result<Vec<i32>, &'static str> {
for i in 0..vector.len() {
let mut smallest_index = i;
for j in i..vector.len() {
if vector[j] < vector[smallest_index] {
smallest_index = j;
}
}
vector = rotate(vector, i, smallest_index);
}
return Ok(vector);
}
}