En heap är en trädstruktur som överensstämmer med en speciell heap regel . Högen regeln anger att varje nod i trädet har ett lägre värde än dess överordnade nod . Noder är platser i trädet som innehåller data . En heap lagrar den största värdet nod i roten nod i trädet , medan de lägsta värdets noder bor på den lägsta nivån i trädet . En heap kan bli korrupt när en annan process modifierar data så att den inte längre följer högen regeln . I C + + , kan du skapa och förstöra högar med basfunktioner . Saker du behöver
C + + Integrated Development Environment , eller IDE , såsom Eclipse CDT
C + + kompilator , som GCC
Visa fler instruktioner
1
Load C + + IDE genom att klicka på dess programikon . När det öppnas , välj " Arkiv /Nytt /Project " och välj " C + +-projekt " för att skapa en ny C + + projektet . En tom källkod filen visas i textredigeraren delen av IDE
2
Importera " Vector" och "algoritm " bibliotek genom att skriva följande på toppen av källkoden filen : .
# importera # import
3 Deklarera en huvudfunktion . Viktigaste funktioner är programmet startpunkter - där programmet börjar exekvering . De klamrar som följer en huvudfunktion bilda ett kodblock : De innehåller all källkod för din huvudsakliga funktion . Skriv huvudfunktionen deklarationen och kodblock så här :
int main ( ) { }
4
Skriv källkoden finns i följande steg innanför klamrarna i huvudfunktionen .
5
Skapa en vektor data container . Vektorer är sekventiella behållare som automatiskt kan skala själva när data läggs till dem . Om du vill skapa en ny vektor , skriver följande uttalande :
vektor v ( ) ;
6 lägga till data i vektorn med hjälp av " push_back " funktionen . Till exempel , för att lägga till siffrorna 1 till 4 för att vektorn , skriver följande kodrader :
v.push_back ( 1 ) , v.push_back ( 2 ) , v.push_back ( 3 ) , v. push_back ( 4 ) ;
7
Ändra ordning vektorn för att bilda en hög. En heap är en trädstruktur i vilken "barn " av en nod är lägre i värde , och därför är den översta noden ett upplag i noden med det högsta numeriska värdet - 4 , i detta exempel. Du kan använda make_heap kommando som detta , som går i början och slutet av vektorn till att omfatta alla dess delar :
make_heap ( v.begin ( ) , v.end ( ) ) ;
8
Ta bort alla element från ett upplag om du misstänker att det har blivit skadat . Du kan göra detta genom att använda " pop_heap " funktionen så här :
pop_heap ( v.begin ( ) , v.end ( ) ) ;