Et navngivet sæt af elementer af samme type kaldes en matrix. En sådan organisering af data har mange åbenlyse fordele og en ulempe - når du opretter en matrix, er det nødvendigt at erklære dens størrelse på forhånd, som ikke kan ændres på konventionelle måder i fremtiden. Løsningen på dette problem er at udvikle dynamiske arrays, der til enhver tid kan ændre antallet af deres elementer. Desuden kan du bruge dette til allerede oprettede klasser til dette og implementere dine egne ved hjælp af standardværktøjer til programmeringssprog.
Instruktioner
Trin 1
Hoved essensen af et dynamisk array er at allokere hukommelse til de data, der er gemt i det nøjagtigt i den størrelse, som det er nødvendigt i øjeblikket. Det er mest praktisk at implementere denne konstruktion i form af en klasse - en indpakning til en matrix. Her er det nødvendigt at sørge for alle funktioner, der udfører allokering og frigivelse af hukommelse til en matrix, samt operatører, der giver adgang til dens elementer.
Trin 2
Opret et objekt fra den dynamiske matrixindpakningsklasse, og konstruktøren tildeler automatisk hukommelse med den angivne størrelse. Hvis hukommelsen til elementerne, når arrayet er fyldt, er fuldstændigt optaget, når der tilføjes næste data, udføres følgende handlinger: - al information fra arrayet lagres i midlertidig lager (hjælpearray); - tidligere allokeret hukommelse er frigjort med en speciel kommando (gratis, slet); - hukommelse tildeles under arrayet med den størrelse, der kræves for at indeholde alle data - alle "gamle" værdier placeres i det nye array fra den midlertidige lagring og en ny element tilføjes.
Trin 3
Den bedste måde at arbejde med dynamiske arrays på er at bruge eksisterende biblioteksklasser. Et af de mest almindelige eksempler er vektorklassen. Det inkluderer alle de funktioner og iteratorer, der er nødvendige for, at et mutabelt array fungerer. Desuden leveres biblioteksmodulet, der indeholder denne klasse, med enhver version af C ++ - compileren.
Trin 4
Inkluder det dynamiske array-bibliotek ved hjælp af kommandoen #include. Brug vektorklassen til at oprette et objekt. At bevæge sig gennem arrayet er det samme som i det sædvanlige tilfælde ved hjælp af indekser. De særlige funktioner her er funktionerne til tilføjelse og fjernelse af nye elementer samt en række hjælpemetoder Et eksempel på kode til oprettelse og drift af en dynamisk matrixvektor: # inkluderer vektor; vektor int Mass; // erklæring af et dynamisk array med elementer af typen intMas.push_back (10); // tilføjelse af det første element - nummer 10 Mas.push_back (15); // tilføjelse af det andet element - nummer 15Mas [1] = 30; // det andet element er skrevet tallet 30Mas.pop_back (); // sletning af det sidste element i arrayet Her, når der oprettes et dynamisk array med navnet Mass, skal typen af dets elementer (int) angives, dimensionen er ikke angivet i dette tilfælde.