Collections: DynArray — различия между версиями
Материал из Вики ИТ мехмата ЮФУ
Juliet (обсуждение | вклад) |
Juliet (обсуждение | вклад) |
||
Строка 46: | Строка 46: | ||
== Реализация == | == Реализация == | ||
<source lang="Delphi"> | <source lang="Delphi"> | ||
+ | interface | ||
+ | |||
+ | uses Nodes; // для использования типа SingleNode<DataType> — | ||
+ | // узла с одним полем связи | ||
+ | |||
+ | |||
+ | implementation | ||
+ | |||
</source> | </source> |
Версия 19:54, 30 апреля 2009
Интерфейс
type DynArray<DataType> = 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;
Реализация
interface
uses Nodes; // для использования типа SingleNode<DataType> —
// узла с одним полем связи
implementation