示例#1
0
 void pop() {
   put(index_in_heap, data[0], (size_type)(-1));
   if (data.size() != 1) {
     data[0] = data.back();
     put(index_in_heap, data[0], 0);
     data.pop_back();
     preserve_heap_property_down();
     verify_heap();
   } else {
     data.pop_back();
   }
 }
示例#2
0
 void pop() {
   BOOST_ASSERT (!this->empty());
   put(index_in_heap, data[0], (size_type)(-1));
   if (data.size() != 1) {
     data[0] = data.back();
     put(index_in_heap, data[0], (size_type)(0));
     data.pop_back();
     preserve_heap_property_down();
     verify_heap();
   } else {
     data.pop_back();
   }
 }