Heap bonus!

This commit is contained in:
2018-05-23 14:22:01 +02:00
parent 7e044abb53
commit a652dc1a17
6 changed files with 120 additions and 3 deletions

25
src/heap.rs Normal file
View 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
}
}