OqPoWah.com

Dinamična matrika in njegove funkcije

Matrika v splošnem primeru je urejen niz elementov, od katerih ima vsaka določeno (isto) vrsto. Nizi so statični in dinamični. Dolžina prve se nastavi med programsko fazo, npr. preden zaženete program za zagon, drugi - med izvajanjem.
Pri statični matriki mora opis opisati število elementov, ki jih ni mogoče spremeniti (povečati ali zmanjšati) med delovanjem programa. Ko zaženete program, ki uporablja statično matriko, se v pomnilnik dodeli več bajtov, da se shranijo njeni elementi. Ta količina pomnilnika bo dodeljena programu, dokler ne konča svoje delo. Tudi če se ta pomnilnik ne uporablja, nobena druga programska koda ne bo mogla dostopati do nje.
Programski jezik Pascal lahko deluje samo s statičnimi nizi. Torej, če želite delati z zaporedjem spremenljive dolžine, je mogoče opisati strukturo, na primer, od sto elementov, in se uporabljajo v različnih fazah različno število elementov, ki ne presegajo številko 100. In to je gotovo nespametno.
Tak problem v integriranem ne obstaja Razvojno okolje Delphi. Dinamična matrika vam omogoča, da ne navedete števila elementov v opisu, ampak ga določite med izvajanjem programa. V razdelku Var je opisana dinamična matrika:
Var Massive: niz celih števil

delphi dinamična matrika

Tako je struktura, ki jo označuje masivni identifikator, linearno celo število zaporedja neznane dolžine (še!). Za nastavitev velikosti mora program uporabiti postopek SetLength, na primer SetLength (Massive, 9). Masivni pridobijo dinamično polje dimenzijo enako številu 9. Sedaj je bilo ugotovljeno, da so v zaporedju devet elementov tipa integer, oštevilčenih od nič. Te funkcije imajo dinamično matriko. Delphi ima postopek, ki sprosti pomnilnik iz nabora številk, ko je izginila potreba po njihovem shranjevanju. To je postopek Finalize, v našem primeru pa bo uporabljen kot sledi: Finalize (Massive).

dinamična matrika




Podobno lahko opisujete in uporabite večdimenzionalne dinamične nize v Delphiju. Na primer, dvodimenzionalna dinamična struktura bo opisana takole:
Var Massive: niz množice celih števil
Če je potrebno, so stolpci matrike lahko različnih dolžin. To je tudi določeno s postopkom SetLength.

dinamična polja delphi

Pogosto se zgodi, zlasti v velikih in zapletenih programih, ki jih nekateri podatkovne strukture se uporabljajo občasno ali samo na začetku / koncu programa. Hkrati bi bilo zelo potratno, da bi ohranili prostor v RAM-u "v rezervi". Dinamična matrika je eden od načinov racionalne porazdelitve virov računalniškega sistema. Čeprav ima nekaj pomanjkljivosti. Prvič, ni vedno primerno, da se elementi odštejejo od nič. Drugič, programator mora stalno razumeti na vsaki točki programske kode, v kakšnem stanju je dinamična matrika. Toda njegovi vrlini vse te težave naredijo smešne. Še posebej, če želite prenesti velike količine podatkov iz podprograma, ne morete storiti brez dinamične predstavitve.

Zdieľať na sociálnych sieťach:

Príbuzný