pub trait Algorithm { fn sort(vector: Vec) -> Result, &'static str>; } pub mod bubble; pub mod merge; pub mod selection; pub mod quick; pub mod insertion; pub fn rotate(mut vector: Vec, from: usize, to: usize) -> Vec { if from != to { let to_value = vector[to]; for j in (from..(to)).rev() { vector[j + 1] = vector[j]; } vector[from] = to_value; } return vector; }