Een benoemde set elementen van hetzelfde type wordt een array genoemd. Een dergelijke organisatie van gegevens heeft veel duidelijke voordelen en één nadeel: bij het maken van een array moet vooraf de grootte worden aangegeven, die in de toekomst niet met conventionele middelen kan worden gewijzigd. De oplossing voor dit probleem is het ontwikkelen van dynamische arrays die het aantal van hun elementen op elk moment kunnen veranderen. Bovendien kunt u hiervoor zowel reeds gemaakte klassen gebruiken als uw eigen klassen implementeren met behulp van standaard programmeertaaltools.
instructies:
Stap 1
De belangrijkste essentie van een dynamische array is om geheugen toe te wijzen voor de gegevens die erin zijn opgeslagen, precies in de grootte waarin het op dat moment nodig is. Het is het handigst om deze constructie in de vorm van een klasse te implementeren - een wrapper voor een array. Hier is het noodzakelijk om te voorzien in alle functies die de toewijzing en vrijgave van geheugen voor een array uitvoeren, evenals operators die toegang bieden tot de elementen ervan.
Stap 2
Maak een object van de dynamische array-wrapperklasse en de constructor wijst automatisch geheugen van de opgegeven grootte toe. Als, terwijl de array vol is, het geheugen voor de elementen volledig bezet is, worden bij het toevoegen van volgende gegevens de volgende acties uitgevoerd: - alle informatie uit de array wordt opgeslagen in tijdelijke opslag (auxiliary array); - eerder toegewezen geheugen wordt bevrijd door een speciale opdracht (free, delete); - geheugen wordt toegewezen onder de array van de grootte die nodig is om alle gegevens te bevatten - alle "oude" waarden worden in de nieuwe array geplaatst vanuit de tijdelijke opslag en een nieuwe element wordt toegevoegd.
Stap 3
De beste manier om met dynamische arrays te werken, is door bestaande bibliotheekklassen te gebruiken. Een van de meest voorkomende voorbeelden is de vectorklasse. Het bevat alle functies en iterators die nodig zijn voor het functioneren van een veranderlijke array. Bovendien wordt de bibliotheekmodule die deze klasse bevat, bij elke versie van de C++-compiler geleverd.
Stap 4
Neem de dynamische arraybibliotheek op met de opdracht #include. Gebruik de vectorklasse om een object te maken. Het doorlopen van de array is hetzelfde als in het gebruikelijke geval, met behulp van indices. De speciale kenmerken hier zijn de functies voor het toevoegen en verwijderen van nieuwe elementen, evenals een aantal hulpmethoden Een voorbeeld van code voor het maken en bedienen van een dynamische arrayvector: #include vector;vector int Mass; // declaratie van een dynamische array met elementen van het type intMas.push_back (10); // het eerste element toevoegen - nummer 10 Mas.push_back (15); // het tweede element toevoegen - nummer 15Mas [1] = 30; // het tweede element is het nummer 30Mas.pop_back (); // het laatste element van de array verwijderen Hier, bij het maken van een dynamische array met de naam Mass, moet het type van de elementen (int) worden gespecificeerd, de dimensie wordt in dit geval niet gespecificeerd.