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