Freigeben über


is_heap_until

Gibt einen Iterator zurück, der sich an dem ersten Element im Bereich befindet [begin, end), der die Heapsortierbedingung nicht erfüllt, oder end, wenn der Bereich einen Heap bildet.

template<class RandomAccessIterator>     RandomAccessIterator is_heap_until(         RandomAccessIterator begin,          RandomAccessIterator end     ); template<class RandomAccessIterator, class BinaryPredicate>      RandomAccessIterator is_heap_until(         RandomAccessIterator begin,          RandomAccessIterator end,          BinaryPredicate compare     );

Parameter

  • begin
    Ein Iterator mit wahlfreiem Zugriff, der das erste Element eines Bereichs angibt, um nach einem Heap zu suchen.

  • end
    Ein Iterator mit wahlfreiem Zugriff, der das Ende des Bereichs angibt, um nach einem Heap zu suchen.

  • compare
    Ein binäres Prädikat, das die Bedingung der strengen schwachen Sortierung angibt, die einen Heap definiert. Das standardmäßige Prädikat, wenn compare nicht angegeben ist, lautet std::less<>.

Rückgabewert

Gibt end zurück, wenn der angegebene Bereich einen Heap bildet oder ein oder weniger Elemente enthält. Gibt andernfalls einen Iterator für das erste Elemente zurück, das die Heap-Bedingung nicht erfüllt.

Hinweise

Die erste Vorlagenfunktion gibt den letzten Iterator next in [begin, end] zurück, wobei [begin, next) ein Heap ist, der vom Funktionsobjekt std::less<> sortiert wird. Wenn die Entfernung end - begin < 2 ist, gibt die Funktion end zurück.

Die zweite Vorlagenfunktion verhält sich wie die erste, mit der Ausnahme, dass sie das Prädikat compare anstelle von std::less<> als Heapsortierbedingung verwendet.

Anforderungen

Header: <algorithm>

Namespace: std

Siehe auch

Referenz

is_heap

less-Struktur

<algorithm>

Standardvorlagenbibliothek