Een heap is een boomstructuur die voldoet aan een speciale heap regel. De heap regel bepaalt dat elke node in de boom heeft een lagere waarde dan de bovenliggende node . Knooppunten zijn plaatsen in de boom die data bevatten . Een hoop slaat de grootste waarde knooppunt in de root- knooppunt van de boom , terwijl de laagste waarde knooppunten bevinden zich op het laagste niveau van de boom . Een hoop kan beschadigd worden wanneer een ander proces wijzigt de gegevens , zodat deze niet meer voldoet aan de heap regel. In C + + , kunt u hopen met basisfuncties te creëren en te vernietigen . Wat je nodig hebt C + + Integrated Development Environment of IDE , zoals Eclipse CDT C + + compiler , zoals GCC Toon Meer Aanwijzingen Belasting 1 de C + + IDE door te klikken op het pictogram van het programma . Wanneer het wordt geopend , selecteert u " File /New /Project" en kies " C + + -project " om een nieuwe C + + project aan te maken . Een lege broncode bestand in de teksteditor gedeelte van de IDE Import 2 de " Vector " en " Algorithm " libraries door het schrijven van de volgende aan de bovenkant van de broncode bestand : . < Br > # importeren # import 3 Verklaar een hoofdfunctie . Belangrijkste functies zijn het programma toegangspunten - waar het programma begint executie . De accolades die een hoofdfunctie volgen vormen een code blok : Ze kapselen alle van de broncode van uw belangrijkste functie . Schrijf de belangrijkste functie verklaring en code blok als volgt : int main ( ) { } 4 Schrijf de broncode te vinden in de volgende stappen binnen de accolades van de hoofdfunctie . 5 Maak een vector data container . Vectoren zijn sequentiële containers die zich automatisch kan vergroten of verkleinen wanneer gegevens worden toegevoegd aan hen. Om een nieuwe vector te maken , schrijven de volgende verklaring : vector v ( ) op ; 6 gegevens toe aan de vector met de functie " push_back " . Bijvoorbeeld , om de nummers 1 tot en met 4 toe te voegen aan de vector , schrijf de volgende regels code : v.push_back ( 1 ) ; v.push_back ( 2 ) ; v.push_back ( 3 ) ; v. push_back ( 4 ) ; 7 volgorde van de vector om een hoop te vormen . Een heap is een boomstructuur waarbij het " kinderen " van een knooppunt zijn lager in waarde , dus de bovenste knooppunt van een berg is het knooppunt met de hoogste numerieke waarde - 4 , in dit voorbeeld . U mag de make_heap commando als dit gebruiken , passeren in het begin en einde van de vector om al haar elementen omvatten : make_heap ( v.begin ( ) , v.end ( ) ) ; < br > 8 Verwijder alle elementen uit een hoop als u vermoedt dat deze is beschadigd . U kunt dit doen met behulp van de " pop_heap " functie als deze : pop_heap ( v.begin ( ) , v.end ( ) ) ;
|