pub trait MaxPQ<Key: PartialEq> {
fn new() -> Self;
fn from_vec(a: Vec<Key>) -> Self;
fn insert(&mut self, v: Key);
fn del_max(&mut self) -> Option<Key>;
fn is_empty(&self) -> bool;
fn max(&self) -> Option<&Key>;
fn size(&self) -> usize;
}
pub trait MinPQ<Key: PartialEq> {
fn new() -> Self;
fn from_vec(a: Vec<Key>) -> Self;
fn insert(&mut self, v: Key);
fn del_min(&mut self) -> Option<Key>;
fn is_empty(&self) -> bool;
fn min(&self) -> Option<&Key>;
fn size(&self) -> usize;
}
pub mod unordered;
pub mod binary_heaps;
pub mod event_driven_simulation;