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

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

Реализация

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

См. также

Collections: