#include #include #include int main() { std::vector v = { 7, 3, 2, 0, 1, 9, 4, 6, 5, 8 }; auto i = std::is_heap_until(begin(v), end(v)); std::vector heap(begin(v), i); for(auto e : v) std::cout << e << " "; std::cout << '\n'; for(auto e : heap) std::cout << e << " "; std::cout << '\n'; if (i != end(v)) { std::push_heap(begin(v), i+1); for(auto e : v) std::cout << e << " "; std::cout << '\n'; std::pop_heap(begin(v), i+1); for(auto e : v) std::cout << e << " "; std::cout << '\n'; } return 0; }