Wie man eine C + + Corrupt Heap löschen . Die Haufen Regel besagt, dass jeder Knoten im Baum einen niedrigeren Wert als die übergeordneten Knoten hat . Nodes sind Stellen im Baum , die Daten enthalten . Ein Haufen speichert den größten Wert Knoten in der Root-Knoten des Baumes , die mit den niedrigsten Wert - Knoten auf der untersten Ebene des Baums befinden. Ein Haufen kann beschädigt werden , wenn ein anderer Prozess ändert die Daten, so dass sie nicht mehr hält sich an die Regel Haufen . In C + + können Sie erstellen und zu zerstören Haufen mit Grundfunktionen. Was Sie brauchen
C + + Integrated Development Environment , IDE oder , wie Eclipse CDT
C + +-Compiler , wie GCC
anzeigen Weitere Anweisungen
1
laden C + + IDE , indem Sie auf das Programmsymbol . Wenn sie geöffnet wird , wählen Sie " File /New /Project" und wählen Sie " C + + -Projekt" , um eine neue C + +-Projekt zu erstellen. Eine leere Quellcode -Datei wird im Texteditor Teil der IDE
2
Import der "Vector " und " Algorithm" Bibliotheken indem Sie an der Spitze der Quellcode-Datei : .
# # import importieren
3 Deklariert eine Hauptfunktion . Die wichtigsten Funktionen sind die Einstiegspunkte Programm - wo das Programm mit der Ausführung beginnt . Die geschweiften Klammern , die eine Hauptfunktion folgen bilden einen Code-Block : Sie kapseln alle den Quellcode für Ihre Hauptfunktion . Schreiben Sie die Hauptfunktion Erklärung und Code-Block wie folgt aus:
int main () {}
4
schreiben den Quellcode in den folgenden Schritten innerhalb der geschweiften Klammern der main-Funktion gefunden .
5
erstellen Vektor- Daten-Container . Vektoren sind sequentielle Container, die automatisch die Größe selbst wenn Daten zu ihnen aufgenommen wird, kann . Um einen neuen Vektor zu erstellen , schreiben Sie die folgende Anweisung :
vector v ();
6 Hinzufügen von Daten zu den Vektor mit dem " push_back "-Funktion . Zum Beispiel, um Addieren Sie die Zahlen 1 bis 4, um den Vektor , schreiben Sie die folgenden Codezeilen :
v.push_back (1); v.push_back (2); v.push_back (3); v. push_back (4);
7
Ordnen Sie die Videos auf einen Haufen zu bilden. Ein Haufen eine Baumstruktur, in der die "Kinder " eines Knotens niedrigeren Wert , daher ist der oberste Knoten von einem Haufen der Knoten mit der höchsten numerischen Wert - 4 , in diesem Beispiel. Sie dürfen die make_heap Befehl wie diesen , vorbei am Anfang und am Ende des Videos , um alle seine Elemente enthalten:
make_heap ( v.begin () , v.end ());
8
entfernen alle Elemente aus einem Haufen , wenn Sie vermuten , dass es beschädigt wurde . Sie können dies tun, indem Sie die " pop_heap "-Funktion wie folgt aus:
pop_heap ( v.begin () , v.end ());