Et navngitt sett med elementer av samme type kalles en matrise. En slik organisering av data har mange åpenbare fordeler og en ulempe - når du oppretter en matrise, er det nødvendig å erklære størrelsen på forhånd, som ikke kan endres på vanlig måte i fremtiden. Løsningen på dette problemet er å utvikle dynamiske matriser som når som helst kan endre antall elementer. Videre, for dette, kan du bruke begge allerede opprettede klasser og implementere dine egne ved hjelp av standard programmeringsspråkverktøy.
Bruksanvisning
Trinn 1
Hoved essensen av en dynamisk matrise er å tildele minne til dataene som er lagret i den nøyaktig i størrelsen den er nødvendig for øyeblikket. Det er mest praktisk å implementere denne konstruksjonen i form av en klasse - en innpakning for en matrise. Her er det nødvendig å sørge for alle funksjoner som utfører tildeling og frigjøring av minne for en matrise, samt operatører som gir tilgang til elementene.
Steg 2
Opprett et objekt av den dynamiske matrixklassen, og konstruktøren tildeler automatisk minne av den angitte størrelsen. Hvis minnet for elementene blir fylt opp når matrisen er fylt, når du legger til neste data, utføres følgende handlinger: - all informasjon fra matrisen lagres i midlertidig lagring (hjelpearrise); - tidligere tildelt minne er frigjort av en spesiell kommando (gratis, slett); - minne tildeles under matrisen av størrelsen som kreves for å inneholde alle dataene - alle "gamle" verdier plasseres i den nye matrisen fra den midlertidige lagringen og en ny element er lagt til.
Trinn 3
Den beste måten å jobbe med dynamiske matriser på er å bruke eksisterende bibliotekklasser. Et av de vanligste eksemplene er vektorklassen. Den inkluderer alle funksjonene og iteratorene som er nødvendige for å fungere for en foranderlig matrise. Videre leveres biblioteksmodulen som inneholder denne klassen med hvilken som helst versjon av C ++ - kompilatoren.
Trinn 4
Inkluder det dynamiske matrisebiblioteket med kommandoen #include. Bruk vektorklassen til å lage et objekt. Å bevege seg gjennom matrisen er det samme som i det vanlige tilfellet, ved å bruke indekser. De spesielle egenskapene her er funksjonene for å legge til og fjerne nye elementer, samt en rekke hjelpemetoder. Et eksempel på kode for å lage og bruke en dynamisk matrisevektor: # inkludere vektor; // erklæring om en dynamisk matrise med elementer av typen intMas.push_back (10); // legge til det første elementet - nummer 10 Mas.push_back (15); // legge til det andre elementet - nummer 15Mas [1] = 30; // det andre elementet er skrevet tallet 30Mas.pop_back (); // sletting av det siste elementet i matrisen Her, når du lager en dynamisk matrise med navnet Mass, må typen av elementene (int) spesifiseres, dimensjonen er ikke spesifisert i dette tilfellet.