Ang isang pinangalanang hanay ng mga elemento ng parehong uri ay tinatawag na isang array. Ang nasabing isang samahan ng data ay may maraming halatang kalamangan at isang sagabal - kapag lumilikha ng isang array, kinakailangang ideklara nang maaga ang laki nito, na hindi mababago ng maginoo na paraan sa hinaharap. Ang solusyon sa problemang ito ay upang makabuo ng mga dynamic na arrays na maaaring baguhin ang bilang ng kanilang mga elemento anumang oras. Bukod dito, para dito, maaari mong gamitin ang parehong nilikha na mga klase, at ipatupad ang iyong sarili gamit ang karaniwang mga tool sa wika ng programa.
Panuto
Hakbang 1
Ang pangunahing kakanyahan ng isang pabagu-bagong hanay ay upang maglaan ng memorya para sa data na nakaimbak dito nang eksakto sa laki kung saan kinakailangan ito sa ngayon. Ito ay pinaka-maginhawa upang ipatupad ang konstruksiyon na ito sa anyo ng isang klase - isang pambalot para sa isang array. Narito kinakailangan upang magbigay para sa lahat ng mga pagpapaandar na gumaganap ng paglalaan at paglabas ng memorya para sa isang array, pati na rin ang mga operator na nagbibigay ng pag-access sa mga elemento nito.
Hakbang 2
Lumikha ng isang bagay ng klase ng pabagu-bagong array na balot, at ang tagapagbuo ay awtomatikong maglalaan ng memorya ng tinukoy na laki. Kung, habang napuno ang array, ang memorya para sa mga elemento ay ganap na abutin, kapag nagdaragdag ng susunod na data, ang mga sumusunod na aksyon ay ginaganap: - lahat ng impormasyon mula sa array ay nakaimbak sa pansamantalang pag-iimbak (auxiliary array); napalaya ng isang espesyal na utos (libre, tanggalin); - ang memorya ay inilalaan sa ilalim ng hanay ng laki na kinakailangan upang maglaman ng lahat ng data - lahat ng mga "luma" na halaga ay inilalagay sa bagong array mula sa pansamantalang imbakan at isang bagong idinagdag ang elemento.
Hakbang 3
Ang pinakamahusay na paraan upang magtrabaho kasama ang mga dynamic na arrays ay ang paggamit ng mga mayroon nang mga klase sa silid aklatan. Ang isa sa mga pinakakaraniwang halimbawa ay ang vector class. Kabilang dito ang lahat ng mga pagpapaandar at iterator na kinakailangan para sa paggana ng isang nababagabag na array. Bukod dito, ang module ng library na naglalaman ng klase na ito ay ibinibigay ng anumang bersyon ng tagatala ng C ++.
Hakbang 4
Isama ang dynamic na library ng array gamit ang # isama ang utos. Gamitin ang vector class upang lumikha ng isang object. Ang paglipat sa array ay pareho sa karaniwang kaso, gamit ang mga indeks. Ang mga espesyal na tampok dito ay ang mga pag-andar para sa pagdaragdag at pag-aalis ng mga bagong elemento, pati na rin ang bilang ng mga pandiwang pantulong na pamamaraan. Isang halimbawa ng code para sa paglikha at pagpapatakbo ng isang pabagu-bagong vector vector: # isama ang vector; vector int Mass; // pagdedeklara ng isang pabagu-bagong hanay na may mga elemento ng uri ng intMas.push_back (10); // pagdaragdag ng unang elemento - bilang 10 Mas.push_back (15); // pagdaragdag ng pangalawang elemento - bilang 15Mas [1] = 30; // ang pangalawang elemento ay nakasulat sa bilang na 30Mas.pop_back (); // pagtanggal ng huling elemento ng array Dito, kapag lumilikha ng isang pabagu-bagong array na pinangalanang Mass, ang uri ng mga elemento nito (int) ay dapat na tinukoy, ang sukat ay hindi tinukoy sa kasong ito.