Heap bonus!
This commit is contained in:
25
src/heap.rs
Normal file
25
src/heap.rs
Normal file
@@ -0,0 +1,25 @@
|
||||
#[derive(Debug)]
|
||||
pub struct Heap {
|
||||
pub heaps: Vec<Vec<i32>>
|
||||
}
|
||||
|
||||
impl Heap {
|
||||
pub fn new() -> Heap {
|
||||
Heap {
|
||||
heaps: Vec::new()
|
||||
}
|
||||
}
|
||||
|
||||
pub fn len(&self) -> usize {
|
||||
self.heaps.len()
|
||||
}
|
||||
|
||||
pub fn get(&mut self, i: usize) -> &mut Vec<i32> {
|
||||
&mut self.heaps[i]
|
||||
}
|
||||
|
||||
pub fn alloc(&mut self, size: usize) -> usize {
|
||||
self.heaps.push(vec![0; size]);
|
||||
self.len() - 1
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user