динамични масиви

динамични масиви

PascalABC.NET - е ново поколение на език за програмиране Pascal, включително класически Pascal, повечето Delphi особености на езика, както и редица свои собствени разширения. Тя се осъществява на платформата Microsoft.NET и съдържа всички съвременни език означава: класове, натоварването на оператори, интерфейси, обработка на изключения, генерични класове и съчетания, за събиране на боклук, ламбда изрази, паралелни инструменти за програмиране.







PascalABC.NET е multiparadigm език: това е възможно да се програмира в структуриран, обектно ориентирани и функционален стил.

PascalABC.NET - тя също е проста и мощна интегрирана среда за разработка, която поддържа IntelliSense технологията, съдържащ авто-инструменти за форматиране, интегриран дебъгер и интегрирана форма дизайнер.

Книга: Език Описание PascalABC.NET

динамични масиви

Раздели на тази страница:

Описание Dynamic Array

масив от динамичен тип е конструиран както следва:

arrayoftip елементи (един двумерен масив)

Променлива от тип динамичен масив е препратка. Ето защо, динамичен масив изисква инициализация (елементи за разпределение на паметта).

Разпределяне памет за динамичен масив

За да се разпредели на динамичен масив използва два начина. Първият метод използва нова операция в стила на клас извикването на конструктора на:

а: = нов число [5];

Този метод е добър, защото ви позволява да комбинирате описание на масива, и разпределението на паметта за него:

а: масив от число: = нов число [5];

Описание на типа може по този начин да се пропусне - Авто тип изход:

а: = нов число [5];

Вторият начин за разпределяне на памет за динамичен масив, използвайки стандартната процедура SetLength:

Масив елементи са пълни със стойности по подразбиране.

процедура SetLength има предимството, че когато тя се повтори призива съдържанието старите масиви се съхраняват.

Инициализация динамичен масив

Можете да се инициализира динамичен масив с разпределена памет нова операция:

а: = нов число [3] (1,2,3);

динамичен инициализация масив когато opeisaniya може да се извърши в съкратен вид:







По този начин има разпределение на паметта в рамките на по-горе вдясно броя на елементите.

Инициализация на едномерен масив е най-лесният от стандартните функции сл. които произвеждат желания размер и масива памет е запълнена с посочените значения:

Var на: = Агг (1,3,5,7,8); // масив от число

Var S: = Агг ( "Ivanov '' Петров '' Сидоров '); // масив от низ

Var б: = ArrFill (777,5); // б = [777.777.777.777.777]

Var R: = ArrRandom (10); // запълване 10 произволно цяло число вариращо от 0 до 99

В същия стил, можете да се инициализира масиви от масиви:

Var на: = Агг (Агг (1,3,5), Агг (7,8), Агг (5,6)); // масив от масив от число

Dynamic Array Дължина

Динамично масив помни дължина (п-мерен масив помни динамичен дължината на всяка посока). дължина на масива (брой елементи в него) връща стандартна функция Дължина или Дължина имота:

За многомерен масив във всяка посока връща стандартна дължина Дължина функция с две параметри или метод GetLength (I):

Въведете динамичния масив

След въвеждане на разпределение динамичен масив може да се извършва обикновено в един цикъл:

за Var I: = 0 до a.Length-1 направи

Въведете динамичния масив може да се извърши чрез стандартна функция ReadSeqInteger:

Var на: = ReadSeqInteger (10);

В този случай, динамичен масив се разпределя памет размер.

Заключение Dynamic Array

Процедура за запис отнема динамичен масив от ограждащи елементи в квадратни скоби и разделени със запетаи:

Var на: = Агг (1,3,5,7,9);

наш тримерно динамичен масив се показва, така че всяко измерение е заграден в квадратни скоби.

Var m: = нов число [3,3] ((1,2,3), (4,5,6), (7,8,9));

Един динамичен масив може да се възпроизвежда, като метод за разширяване или Print Println:

Елементите са разделени с интервали по подразбиране, но можете да промените това, като настроите параметър на печат, е елементите на сепаратора. Например:

извежда всеки елемент на отделен ред.

масиви от масиви

Ако тя обяви, масив от масиви

неговото инициализиране може да се извършва само с помощта SetLength:

За да се инициализира този масив, използвайки новия тип, въведете име на масива на число:

в: = нов IntArray [5];

в [Ь]: = нов число [3];

Initialize множество решетки могат да бъдат извършени в съкратен вид:

Прехвърляне на динамични масиви

Динамичните масиви от същия тип могат да бъдат причислени към една от друга, с двете променливи връзки ще говорят за памет:

Имайте предвид, че динамичните масиви приета структурна равностойност на типа може да бъде назначен един до друг и се предават като параметри на подпрограми динамични масиви съвпадат структура.

Трансфер динамичен масив в подпрограма

Динамичен масив обикновено се предава по подпрограма значение, тъй като самата променлива вече е препратка:

Процедура квадрати (А: масив от цяло число);

за Var I: = 0 до a.Length-1 направи

Var на: = Агг (1,3,5,7,9);

Динамичен масив предава чрез връзка само с един случай: ако е създаден или пресъздадени в рамките на подпрограмата. По-специално, трябва да се направи, ако масив от динамично в рамките на подпрограмата се нарича SetLength:

Добави процедура (Var на: масив от число х: число);

Var на: = Агг (1,3,5,7,9);