- }
- T front () const { return elt (1); }
- int size () const { return heap_array_.size (); }
- void insert (T v) {
- heap_array_.push (v);
- int i = heap_array_.size ();
- int j = i / 2 ;
- while (j) {
- if (compare (elt (j), v) > 0) {
- elt (i) = elt (j);
- i = j;
- j = i/2;
- } else {
- break;
- }
- }
- elt (i) = v;
- OK ();
- }
- T max () const {
- //int first_leaf_i = size ();
- T max_t;
- return max_t;
- }
- void delmin () {
- assert (size ());
- T last = heap_array_.top ();
-
- int mini=2;
- int lasti=1;
+ }
+ T front () const
+ {
+ return elt (1);
+ }
+ vsize size () const
+ {
+ return heap_array_.size ();
+ }
+ void insert (T v)
+ {
+ heap_array_.push_back (v);
+ vsize i = heap_array_.size ();
+ vsize j = i / 2;
+ while (j)
+ {
+ if (compare (elt (j), v) > 0)
+ {
+ elt (i) = elt (j);
+ i = j;
+ j = i / 2;
+ }
+ else
+ break;
+ }
+ elt (i) = v;
+ OK ();
+ }
+ T max () const
+ {
+ //int first_leaf_i = size ();
+ T max_t;
+ return max_t;
+ }
+ void delmin ()
+ {
+ assert (size ());
+ T last = heap_array_.back ();