1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
mod vec;
use std::cmp;
pub trait StalinFind<T> {
fn len(&self) -> usize;
fn is_empty(&self) -> bool;
fn stalin(&mut self, i: T, l: usize, r: usize) -> Option<usize>
where T: cmp::PartialEq + cmp::PartialOrd;
fn stalin_find(&mut self, i: T) -> Option<usize>
where T: cmp::PartialEq + cmp::PartialOrd {
if self.is_empty() {
None
} else {
self.stalin(i, 0, self.len() - 1)
}
}
}