+
+ fn sort(&mut self, num_elts_to_sort: usize) {
+ for i in (1..((num_elts_to_sort + 1) / 2) + 1).rev() {
+ downheap(&mut self.indices, i - 1, num_elts_to_sort - 1,
+ self.sector_header);
+ }
+
+ for i in (1..num_elts_to_sort).rev() {
+ let t = self.indices[0];
+ self.indices[0] = self.indices[i];
+ self.indices[i] = t;
+
+ downheap(&mut self.indices, 0, i - 1, self.sector_header);
+ }
+ }