pub mod binary_heap;
pub mod max_binary_heap;
pub mod min_binary_heap;
pub trait Heap<T> {
fn push(&mut self, item: T);
fn pop(&mut self) -> Option<T>;
fn is_empty(&self) -> bool;
fn peek(&self) -> Option<&T>;
}
pub type HeapFn<T> = fn(&T, &T) -> bool;