Skip to main content

Mi az a dinamikus tömb?

A dinamikus tömb egy olyan adatszerkezet, amelyet a számítógépes programozásban használnak, amely több számítástechnikai objektumot tárol egyetlen csoportként, és akarat szerint átméretezhető, hogy különböző számú objektumot fogadjon el.A csoportot egyetlen szomszédos memória blokkban tartják, így az elemekhez való hozzáférés hatékony és gyors.A dinamikus tömböket vektoroknak vagy listáknak is nevezzük, a számítógépes nyelvtől függően.Ezen nevek ellenére minden adott lista vagy vektor nem lehet dinamikus tömb, mivel a listák és a vektorok eltérő módon valósíthatók meg, mint a tömbök és egymástól.

C ++ tartalmaz egy vektort nevű dinamikus tömbosztályt, amely az osztályok csoportjában található.A szokásos sablon könyvtárnak hívják.Az ezt az osztályt támogató tömb hozzáférhető az iterátorok vagy az indexek segítségével.A kereslet átméretezésének képessége nagy előnye, de a programozókat hamis biztonságérzetre vonhatja be, mert nem olyan robusztus, mint amilyennek látszik.A vektor által támogató dinamikus tömb nem biztosítja, hogy a hozzáférési kérelmek érvényesek legyenek.A statikus tömbökhöz hasonlóan a dinamikus tömböknek határok ellenőrzési és memória -korrupciós problémái is lehetnek, ha egy program megkísérel hozzáférni a memóriához, amelyet nem osztottak ki nekik.A tömb elemei csak indexekhez férhetnek hozzá, és a tömbön kívüli indexek elérésének megkísérlése általában nem okoz memória -korrupciós problémákat.A Java vektorosztály nagyjából megegyezik a C ++ vektor osztálytal, és nem szinkronizálva van, hogy több szálhoz hozzáférhessen.Az ArrayList és a CopyonWritearRayList ezzel szemben egyaránt szálbiztos.A három közül a CopyonWriteArrayList a leginkább munkaigényes osztály, mivel minden alkalommal, amikor új értéket írnak a tömbre, teljesen újjáépíti a dinamikus tömböt.

A dinamikus tömbök lényegében ugyanúgy kerülnek megvalósításraEgy adott nyelvtől függően más képességek is lehetnek felépíteni.A statikus tömbökhez hasonlóan a dinamikus tömbök sem korlátozzák a benne tárolható objektum típusát, mindaddig, amíg ezek mindegyike azonos típusú objektum.A programozónak soha nem kell közvetlenül hozzáférnie a dinamikus tömbhez;Mindig meg lehet tenni egy olyan osztályon keresztül, amely a tömböt a könnyű használat érdekében csomagolja.Ezeknek a tömböknek a megfelelő használata elősegítheti a programozót az adatszervezettel a kódon belül, és olyan érthető kód létrehozásával is, amely a könnyű karbantartáshoz vezet.