Nimettyä samantyyppisten elementtien joukkoa kutsutaan matriisiksi. Tällaisella tietojen järjestelyllä on paljon ilmeisiä etuja ja yksi haittapuoli - taulukon luomisessa on ilmoitettava sen koko etukäteen, jota ei voida muuttaa tavanomaisin keinoin tulevaisuudessa. Ratkaisu tähän ongelmaan on kehittää dynaamisia taulukoita, jotka voivat muuttaa niiden elementtien määrää milloin tahansa. Lisäksi tähän voit käyttää molempia jo luotuja luokkia ja toteuttaa omia käyttämällä tavallisia ohjelmointikielityökaluja.
Ohjeet
Vaihe 1
Dynaamisen taulukon pääominaisuus on varata muistia siihen tallennettuihin tietoihin täsmälleen siinä kokoisessa koossa, jota sitä tällä hetkellä tarvitaan. On kätevintä toteuttaa tämä rakenne luokan muodossa - kääre taulukkoa varten. Tässä on välttämätöntä säätää kaikki toiminnot, jotka suorittavat ryhmän muistin varaamisen ja vapauttamisen, sekä operaattorit, jotka tarjoavat pääsyn sen elementteihin.
Vaihe 2
Luo dynaamisen matriisikääre-luokan objekti, ja rakentaja varaa automaattisesti määritetyn kokoisen muistin. Jos elementtien muisti on varattu täyteen, seuraavien tietojen lisäämisen yhteydessä suoritetaan seuraavat toiminnot: - kaikki matriisin tiedot tallennetaan väliaikaiseen muistiin (lisätaulukko); - aiemmin varattu muisti on vapautetaan erityisellä komennolla (vapaa, poista); - muisti allokoidaan kokoiselle ryhmälle, joka vaaditaan sisältämään kaikki tiedot - kaikki "vanhat" arvot sijoitetaan uuteen ryhmään väliaikaisesta tallennustilasta ja uusi elementti lisätään.
Vaihe 3
Paras tapa työskennellä dynaamisten taulukoiden kanssa on käyttää olemassa olevia kirjastoluokkia. Yksi yleisimmistä esimerkeistä on vektoriluokka. Se sisältää kaikki toiminnot ja iteraattorit, jotka ovat tarpeen muutettavan taulukon toiminnalle. Tämän luokan kirjastomoduuli toimitetaan lisäksi minkä tahansa C ++-kääntäjän version kanssa.
Vaihe 4
Sisällytä dynaaminen taulukkorakenne #include -komennolla. Luo objekti vektoriluokan avulla. Matriisin läpi liikkuminen on sama kuin tavallisessa tapauksessa indeksien avulla. Erityispiirteitä ovat uusien elementtien lisäämisen ja poistamisen toiminnot sekä joukko apumenetelmiä. Esimerkki koodista dynaamisen matriisivektorin luomiseksi ja käyttämiseksi: #include vector; vector int Mass; // dynaamisen taulukon ilmoitus elementeillä intMas.push_back (10); // ensimmäisen elementin lisääminen - numero 10 Mas.push_back (15); // toisen elementin lisääminen - numero 15Mas [1] = 30; // toiseen elementtiin kirjoitetaan numero 30Mas.pop_back (); // taulukon viimeisen elementin poistaminen Tällöin luodessasi Mass-nimistä dynaamista taulukkoa, on määritettävä sen elementtien tyyppi (int), mittaa ei tässä tapauksessa määritetä.