Struct rust_heap::heap::BoundedBinaryHeaper [] [src]

pub struct BoundedBinaryHeaper<'a, T: 'a> { /* fields omitted */ }

Heaper converts underlying slice into a binary heap with bound

Methods

impl<'a, T: 'a + PartialOrd> BoundedBinaryHeaper<'a, T>
[src]

[src]

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);

[src]

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);

[src]

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);

[src]

Pop the smallest value from heap

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.pop().unwrap(), 1);

[src]

Return the number of elements in the heap

[src]

Return true if the heap is empty

[src]

Return the number of elements the heap can store

[src]

Return the smallest element or None if the heap is empty

Trait Implementations

Auto Trait Implementations

impl<'a, T> Send for BoundedBinaryHeaper<'a, T> where
    T: Send

impl<'a, T> Sync for BoundedBinaryHeaper<'a, T> where
    T: Sync