C

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;
}

Terma të lidhur