Кіріспе
Элементтерді қосуға және жоюға болатын тізімдік дерек құрылымы. Компьютер ғылымында динамикалық массив, кеңейтілген массив, қайта өлшемделтін массив, динамикалық кесте, өзгертілген массив немесе массив тізімі – элементтерді қосуға немесе жоюға мүмкіндік беретін, кездейсоқ сұранысқа қол жеткізілетін, өзгермелі өлшемді тізімдік дерек құрылымы. Ол көптеген қазіргі заманғы бағдарламалау тілдеріндегі стандартты кітапханалармен жабдықталған. Динамикалық массивтер статикалық массивтердің шектеулерін жояды, олардың белгілі бір сыйымдылығы болады, оны бөліп беру кезінде анықтау қажет. Динамикалық массив – динамикалық түрде бөлінген массив немесе өзгермелі ұзындығы бар массив емес, олардың екеуі де массив бөлінген кезде өлшемі белгіленеді, бірақ динамикалық массив мұндай белгілі өлшемді массивті ішкі құрылым ретінде пайдалана алады.
In computer science, a dynamic array, growable array, resizable array, dynamic table, mutable array, or array list is a random access, variable size list data structure that allows elements to be added or removed. It is supplied with standard libraries in many modern mainstream programming languages. Dynamic arrays overcome a limit of static arrays, which have a fixed capacity that needs to be specified at allocation. A dynamic array is not the same thing as a dynamically allocated array or variable length array, either of which is an array whose size is fixed when the array is allocated, although a dynamic array may use such a fixed size array as a back end.
Тілдік қолдау
C++ std::vector және Rust std::vec::Vec динамикалық массивтердің іске асырылуы болып табылады, сондай-ақ Java API және .NET Framework-пен бірге келген ArrayList кластары да осылай іске асырылған. .NET Framework 2.0 нұсқасымен бірге келген жалпы List<> класы да динамикалық массивтерді пайдаланып іске асырылады. Smalltalk-тың OrderedCollection динамикалық бастапқы және соңғы индексі бар динамикалық массив, сондықтан бірінші элементті жою да O(1) операциясы болып табылады. Python тіліндегі тізім дерек типі – динамикалық массив, оның өсу үлгісі: 0, 4, 8, 16, 24, 32, 40, 52, 64, 76, ... Delphi және D тілдері динамикалық массивтерді тілдің өзегінде іске асырады. Ada тіліндегі Ada.Containers.Vectors жалпы пакеті берілген тип үшін динамикалық массивті іске асыруды қамтамасыз етеді. Perl және Ruby сияқты көптеген сценарийлік тілдер динамикалық массивтерді кіріктірілген бастапқы дерек типі ретінде ұсынады. C үшін динамикалық массивті іске асыруды қамтамасыз ететін бірнеше кросс-платформалық фреймворктер бар, олардың ішінде Core Foundation-дағы CFArray және CFMutableArray, GLib-дағы GArray және GPtrArray. Common Lisp өзгертілетін векторларға қарапайым қолдау көрсетеді, бұл кіріктірілген массив түрін өзгертілетін ретінде конфигурациялауға және толтыру көрсеткіші арқылы енгізу орнын орнатуға мүмкіндік береді.
Delphi and D implement dynamic arrays at the language's core. Ada's Ada. Containers. Vectors generic package provides dynamic array implementation for a given subtype. Many scripting languages such as Perl and Ruby offer dynamic arrays as a built in primitive data type. Several cross platform frameworks provide dynamic array implementations for C, including CFArray and CFMutableArray in Core Foundation, and GArray and GPtrArray in GLib. Common Lisp provides a rudimentary support for resizable vectors by allowing to configure the built in array type as adjustable and the location of insertion by the fill pointer.