Collections: DynArray — различия между версиями
Материал из Вики ИТ мехмата ЮФУ
Juliet (обсуждение | вклад) |
Juliet (обсуждение | вклад) |
||
Строка 2: | Строка 2: | ||
<source lang="Delphi"> | <source lang="Delphi"> | ||
type DynArray<T> = class | type DynArray<T> = class | ||
− | + | /// Количество элементов (размер) массива | |
+ | property Count: integer; | ||
+ | |||
+ | /// Емкость массива (отведенная память) | ||
+ | property Capacity: integer; | ||
+ | |||
+ | /// Позволяет обращаться к элементам массива по индексу | ||
+ | /// (например, apples[5]) | ||
+ | property Elem[index: integer]: DataType; | ||
+ | |||
+ | |||
+ | /// Создает массив размера pSize | ||
+ | constructor Create(pSize: integer := 0); | ||
+ | |||
+ | /// Выделяет новую память. Емкость увеличивается до newCap. | ||
+ | /// (Если newCap меньше текущей емкости, ничего не происходит) | ||
+ | procedure Reserve(newCap: integer); | ||
+ | |||
+ | /// Устанавливает новый размер массива равным newSize | ||
+ | procedure Resize(newSize: integer); | ||
+ | |||
+ | /// Добавляет элемент x в конец массива | ||
+ | procedure Add(x: DataType); | ||
+ | |||
+ | /// Вставляет элемент x в позицию pos | ||
+ | procedure Insert(pos: integer; x: DataType); | ||
+ | |||
+ | /// Удаляет элемент массива из позиции pos | ||
+ | procedure Remove(pos: integer); | ||
+ | |||
+ | /// Возвращает индекс первого элемента массива равного x | ||
+ | /// или -1, если такого элемента нет | ||
+ | function Find(x: DataType): integer; | ||
+ | |||
+ | /// Выводит содержимое массива на консоль | ||
+ | procedure Println(); | ||
+ | |||
+ | /// Выводит содержимое массива на консоль в обратном порядке | ||
+ | procedure PrintlnReverse(); | ||
end; | end; | ||
</source> | </source> |
Версия 19:47, 30 апреля 2009
Интерфейс
type DynArray<T> = class
/// Количество элементов (размер) массива
property Count: integer;
/// Емкость массива (отведенная память)
property Capacity: integer;
/// Позволяет обращаться к элементам массива по индексу
/// (например, apples[5])
property Elem[index: integer]: DataType;
/// Создает массив размера pSize
constructor Create(pSize: integer := 0);
/// Выделяет новую память. Емкость увеличивается до newCap.
/// (Если newCap меньше текущей емкости, ничего не происходит)
procedure Reserve(newCap: integer);
/// Устанавливает новый размер массива равным newSize
procedure Resize(newSize: integer);
/// Добавляет элемент x в конец массива
procedure Add(x: DataType);
/// Вставляет элемент x в позицию pos
procedure Insert(pos: integer; x: DataType);
/// Удаляет элемент массива из позиции pos
procedure Remove(pos: integer);
/// Возвращает индекс первого элемента массива равного x
/// или -1, если такого элемента нет
function Find(x: DataType): integer;
/// Выводит содержимое массива на консоль
procedure Println();
/// Выводит содержимое массива на консоль в обратном порядке
procedure PrintlnReverse();
end;