Freigeben über


CRBTree Class

Diese Klasse stellt Methoden zum Erstellen und das Verwenden einer RED-Schwarz Struktur bereit.

template< 
   typename K, 
   typename V, 
   class KTraits = CElementTraits< K >, 
   class VTraits = CElementTraits< V > 
> class CRBTree

Parameter

  • K
    Der Schlüsselelementtyp.

  • V
    Der Wertselementtyp.

  • KTraits
    Der Code verwendet, um Schlüsselelemente zu kopieren oder verschieben. Siehe CElementTraits-Klasse für weitere Details.

  • VTraits
    Der Code verwendet, um Wertelemente zu kopieren oder verschieben.

Mitglieder

Öffentliche Typedefs

Name

Description

CRBTree::KINARGTYPE

Verwendeter Typ, wenn eine Taste als Eingabeargument übergeben wird.

CRBTree::KOUTARGTYPE

Verwendeter Typ, wenn eine Taste als Ausgabeargument zurückgegeben wird.

CRBTree::VINARGTYPE

Verwendeter Typ, wenn ein Wert als Eingabeargument übergeben wird.

CRBTree::VOUTARGTYPE

Verwendeter Typ, wenn ein Wert als Ausgabeargument übergeben wird.

Öffentliche Klassen

Name

Description

CRBTree::CPair Class

Eine Klasse, die die Schlüssel und Wertelemente enthält.

Öffentliche Konstruktoren

Name

Description

CRBTree::~CRBTree

Der Destruktor.

Öffentliche Methoden

Name

Description

CRBTree::FindFirstKeyAfter

Rufen Sie diese Methode auf, um die Position des Elements zu suchen, das die nächste verfügbare Schlüssel.

CRBTree::GetAt

Rufen Sie diese Methode auf, um das Element in einer angegebenen Position in der Struktur abzurufen.

CRBTree::GetCount

Rufen Sie diese Methode auf, um die Anzahl der Elemente in der Struktur abzurufen.

CRBTree::GetHeadPosition

Rufen Sie diese Methode auf, um den Positionswert für das Element am Anfang der Struktur abzurufen.

CRBTree::GetKeyAt

Rufen Sie diese Methode auf, um die Schlüssel aus einer angegebenen Position in der Struktur abzurufen.

CRBTree::GetNext

Rufen Sie diese Methode auf, um ein Zeiger auf ein Element abzurufen, das im CRBTree-Objekt gespeichert ist, und setzen Sie die Position auf das nächste Element.

CRBTree::GetNextAssoc

Rufen Sie diese Methode, um die Schlüssel und den Wert eines Elements abzurufen, auf das in der Zuordnung und Position zum nächsten Element in der gespeichert wird.

CRBTree::GetNextKey

Rufen Sie diese Methode, um die Schlüssel eines Elements abzurufen, auf das in der Struktur und die Position auf das nächste Element zurückzusetzen gespeichert wird.

CRBTree::GetNextValue

Rufen Sie diese Methode, um den Wert eines Elements abzurufen, auf das in der Struktur und die Position auf das nächste Element zurückzusetzen gespeichert wird.

CRBTree::GetPrev

Rufen Sie diese Methode auf, um ein Zeiger auf ein Element abzurufen, das im CRBTree-Objekt gespeichert ist, und aktualisieren Sie dann die Position zum vorherigen Element.

CRBTree::GetTailPosition

Rufen Sie diese Methode auf, um den Positionswert für das Element am Ende der Struktur abzurufen.

CRBTree::GetValueAt

Rufen Sie diese Methode auf, um den Wert abzurufen, der an einer angegebenen Position im CRBTree-Objekt gespeichert wird.

CRBTree::IsEmpty

Rufen Sie diese Methode auf, um ein leeres Strukturobjekt zu testen.

CRBTree::RemoveAll

Rufen Sie diese Methode auf, um alle Elemente aus CRBTree -Objekt zu entfernen.

CRBTree::RemoveAt

Rufen Sie diese Methode auf, um das Element an der angegebenen Position im CRBTree -Objekt zu entfernen.

CRBTree::SetValueAt

Rufen Sie diese Methode auf, um den Wert zu ändern, der in einer bestimmten Position im CRBTree-Objekt gespeichert wird.

Hinweise

Eine RED-Schwarz Struktur ist eine binäre Suchstruktur, die eine zusätzliche Informationen pro Knoten verwendet, um, sodass er "ausgeglichen bleibt", das heißt, die Strukturhöhe sicherzustellen wächst nicht unverhältnismäßig große und wirkt sich auf die Leistung aus.

Diese Vorlagenklasse wurde entworfen, durch CRBMap und CRBMultiMap verwendet werden. Der Großteil der Methoden, die bilden, diese abgeleiteten Klassen werden von CRBTree bereitgestellt.

Weitere finden vollständige Erläuterung der verschiedenen Auflistungsklassen und ihre Funktionen und Leistungsmerkmale, ATL-Auflistungsklassen.

Anforderungen

Header: atlcoll.h

Siehe auch

Weitere Ressourcen

ATL Class Overview