O matrice dinamic - l
Numit matrice dinamică a cărei mărime poate fi modificată în timpul rulării. Pentru a schimba gama dinamică a limbajului de programare. sprijină astfel de matrice ar trebui să ofere funcția sau operatorului încorporat. tablouri dinamice permit de lucru mai flexibil, cu datele, deoarece nu prezice cantitatea de date stocate și ajusta dimensiunea matrice, în conformitate cu volumul efectiv necesare. În contrast, matrice dinamice sunt matrice statice și matrice de lungime variabilă. Dimensiunea unei matrice statică este determinată în momentul compilării programului. mărimea șirului de lungime variabilă este determinată în timpul rulării. Onoruri o gamă dinamică de matrice de lungime variabilă este redimensionarea automată, nu este dificil de realizat în absența acestuia, astfel încât acestea de multe ori nu fac distincție între matrice de lungime variabilă, cu matrice dinamice.
Un exemplu de matrice dinamică a limbajului „Pascal“
tablouri dinamice (sau rețele de lungime variabilă) sunt susținute de Delphi, FreePascal, dar nu și Turbo Pascal.
O gamă dinamică unidimensională:
Vom crea un tablou cu 10 elemente de tip int:
Obțineți acces la valoarea fiecărui element poate fi indexul (număr):
Prin urmare, dacă luați această abordare, veți avea nevoie de aproximativ o duzină de linii de cod pentru a inițializa întreaga matrice. Pentru a evita acest lucru vom scrie același lucru într-o buclă:
Apoi, lucrează cu o matrice. De asemenea, este posibil de afișat:
Pentru a elibera memorie de matrice dinamică unidimensională, utilizați:
Operatorul C ++ șterge:
matrice Strict vorbind descris mai sus, punerea în aplicare nu este dinamic, deoarece nici o schimbare în dimensiunea matricii în timpul operațiunii, ci doar o lungime variabilă matrice. O soluție posibilă este de a realloc, dar poate fi utilizat numai atunci când se utilizează malloc, dar nu noi. Pentru a modifica dimensiunea unei astfel de matrice este necesar să se declare o altă serie de mărimea potrivită, copiați datele și eliberați memoria ocupată de matrice veche. In C ++ soluție bibliotecă este std :: vector. S89 nu este o matrice de lungime variabilă, ele sunt doar în C99 (care nu este susținută de toate compilatoarele). Unele (destul de vechi) și compilatoare C ++ nu suporta matrice de lungime variabilă.
Vezi ce o „matrice dinamică“ în alte dicționare:
o serie de putere - [Intentie] Pentru utilizatorii individuali dispozitiv doar într-adevăr nevoie de o astfel de protecție este un computer. Într-un mediu corporatist, în plus față de PC, oferind alimentare de calitate au nevoie de servere, comunicații ... ... Traducator tehnic
Vector (C ++) - Standard programare C ++ bibliotecă limbaj fstream iomanip ios iostream sstream modele standard algoritm de bibliotecă ... Wikipedia
Ruby - clasa de limba: multiparadigmality: dinamic, orientare obiect ... Wikipedia
Object Pascal - Semantica: o clasă de limbaj imperativ: multiparadigmality: imperativ, structurat, generic [1], procedura de tip execuție orientat-obiect: compilat ... Wikipedia
Standard C ++ bibliotecă - un standard limbaj de programare C ++ biblioteca fstream iomanip ios iostream sstream Standard Template Library ... Wikipedia