Collections: DynArray — различия между версиями

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск
Строка 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

Примеры использования

См. также

Collections: