25 lines
444 B
Rust
25 lines
444 B
Rust
#[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
|
|
}
|
|
} |