Inhaltsverzeichnis

pop_heap()

#include <algorithm>

void pop_heap (Ran first, Ran last) 
void pop_heap (Ran first, Ran last, Binary comp) 
 
Ran ranges::pop_heap (Range r, Binary comp = {}, proj = {}) 
Ran ranges::pop_heap (Ran first, Ran last, Binary comp = {}, proj = {}) 

Vertauscht *first und *(last-1) des als Heap geordneten Bereiches [first,last) und ordnet den vor dem letzten Element liegenden Teilbereich wieder zu einem Heap um.

Parameter

first Anfang des Bereiches
last Ende des Bereiches
comp Vergleichskriterium (Vorgabe = less)
proj einstelliger Funktor (Vorgabe = std::identity)
pol parallele Ausführungsart

Ergebnis

Rückgabewert: Keiner bzw. last.

Siehe auch

is_heap(), make_heap(), push_heap(), pop_heap(), sort_heap().

Beispiel

pop_heap.cpp
#include <algorithm>
#include <iostream>
#include <vector>
 
int main()
{
  std::vector<int> v = { 7, 3, 2, 0, 1, 9, 4, 6, 5, 8 };
 
  auto i = std::is_heap_until(begin(v), end(v));
 
  std::vector<int> 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;
}