En heap er en trestruktur som overholder en spesiell haug regelen. Haugen regelen sier at hver node i treet har en lavere verdi enn den overordnede noden . Noder er steder i treet som inneholder data . En haug lagrer den største verdien node i rotnoden i treet, mens de med lavest verdi noder ligge på det laveste nivået av treet . En haug kan bli skadet når en annen prosess endrer dataene slik at det ikke lenger fester seg til heap regelen . I C + + , du kan skape og ødelegge hauger med grunnleggende funksjoner. Du trenger
C + + Integrated Development Environment , eller IDE , for eksempel Eclipse CDT
C + + kompilator, slik GCC
Vis flere instruksjoner
en
Load C + + IDE ved å klikke på programmets ikon. Når den åpnes, velger du "Fil /Ny /Project" og velg " C + + Project" for å opprette en ny C + + prosjekt . En tom kildekoden filen vises i teksteditoren delen av IDE
2
Import av " Vector " og "algoritmen " biblioteker ved å skrive følgende på toppen av kildekoden filen: .
# import # import
3 Erklærer en hovedfunksjon . Hovedfunksjonene er programmet startpunkter - der programmet starter utførelsen. Klammeparentesene som følger en hovedfunksjon danne en kode blokk : De kapsle alt av kildekoden for din viktigste funksjon . Skriv den viktigste funksjonen erklæringen og kode blokk som dette : en
int main ( ) { }
4
Skriv kildekoden finnes i følgende trinn inne klammeparentesene av den viktigste funksjonen .
5
Lag en vektor data container . Vektorer er sekvensielle beholdere som kan automatisk endre størrelsen seg selv når data er lagt til dem . For å opprette en ny vektor , skrive følgende utsagn : en
vektor v ();
6 Legg data til vektor ved hjelp av " push_back "-funksjonen . For eksempel vil legge tallene 1 til 4 til vektor, skriver de følgende linjer med kode :
v.push_back ( 1 ) ; v.push_back ( 2 ) ; v.push_back ( 3 ) , v. push_back ( 4 ) ;
7
Omstrukturer vektor for å danne en haug . En heap er en trestruktur der " barn " av en node er lavere i verdi , og derfor er det øverste node av en haug noden med høyest numerisk verdi - 4, i dette eksempelet. Du kan bruke make_heap kommando som dette , passerer i begynnelsen og slutten av vektor for å inkludere alle dens elementer : en
make_heap ( v.begin ( ) , v.end ( ) ) ;
8
Fjern alle elementer fra en haug hvis du har mistanke om at det har blitt ødelagt. Du kan gjøre dette ved hjelp av " pop_heap "-funksjonen som dette : en
pop_heap ( v.begin ( ) , v.end ( ));