pub struct BoundedBinaryHeaper<'a, T: 'a> { /* private fields */ }
Expand description
Heaper converts underlying slice into a binary heap with bound
Implementations§
Source§impl<'a, T: 'a + PartialOrd> BoundedBinaryHeaper<'a, T>
impl<'a, T: 'a + PartialOrd> BoundedBinaryHeaper<'a, T>
Sourcepub fn from(slice: &'a mut [T]) -> BoundedBinaryHeaper<'a, T>
pub fn from(slice: &'a mut [T]) -> BoundedBinaryHeaper<'a, T>
Create a new BoundedBinaryHeaper on top of a slice
extern crate rust_heap;
use rust_heap::heap::BoundedBinaryHeaper;
let mut v=[5,4,3,2,1];
let mut h = BoundedBinaryHeaper::from(&mut v);
assert_eq!(h.capacity(), 5);
assert_eq!(h.len(), 5);
Sourcepub fn from_empty_slice(slice: &'a mut [T]) -> BoundedBinaryHeaper<'a, T>
pub fn from_empty_slice(slice: &'a mut [T]) -> BoundedBinaryHeaper<'a, T>
Create a new BoundedBinaryHeaper on top of an slice and ignore all contents in it
extern crate rust_heap;
use rust_heap::heap::BoundedBinaryHeaper;
let mut v=[5,4,3,2,1];
let mut h = BoundedBinaryHeaper::from_empty_slice(&mut v);
assert_eq!(h.capacity(), 5);
assert_eq!(h.len(), 0);
Sourcepub fn push(&mut self, elem: T) -> Option<T>
pub fn push(&mut self, elem: T) -> Option<T>
Push a value into heap if value>=root and keep heap structure Overflow and return the smallest element when heap is full
extern crate rust_heap;
use rust_heap::heap::BoundedBinaryHeaper;
let mut v=[3,2,1];
let mut h = BoundedBinaryHeaper::from(&mut v);
assert_eq!(h.push(4).unwrap(), 1);
assert_eq!(h.len(), 3);
Auto Trait Implementations§
impl<'a, T> Freeze for BoundedBinaryHeaper<'a, T>
impl<'a, T> RefUnwindSafe for BoundedBinaryHeaper<'a, T>where
T: RefUnwindSafe,
impl<'a, T> Send for BoundedBinaryHeaper<'a, T>where
T: Send,
impl<'a, T> Sync for BoundedBinaryHeaper<'a, T>where
T: Sync,
impl<'a, T> Unpin for BoundedBinaryHeaper<'a, T>
impl<'a, T> !UnwindSafe for BoundedBinaryHeaper<'a, T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more