Dynamic array in C
Në shqip: Varg dinamik në C
ShpjegimiSQ
C-ja s'ka vector, por e ndërton vetë: një struct me pointer, madhësi dhe kapacitet; kur mbushet, realloc() e dyfishon. Ushtrim i shkëlqyer për të kuptuar si punojnë listat në gjuhët e tjera.
EnglishEN
C has no vector, but you build one yourself: a struct with a pointer, a size and a capacity; when it fills up, realloc() doubles it. A great exercise for understanding how lists work in other languages.
Si ta mendosh
Si një raft që e zgjeron sa herë mbushet.
Lexoje në anglisht
Like a shelf you extend whenever it fills up.
Shembull kodic
typedef struct { int *te; size_t n, kap; } Varg;
void shto(Varg *v, int x) {
if (v->n == v->kap) { v->kap = v->kap ? v->kap * 2 : 4; v->te = realloc(v->te, v->kap * sizeof *v->te); }
v->te[v->n++] = x;
}