Теория и практика объектно-ориентированного программирования. Ноткин А.М. - 65 стр.

UptoLike

Составители: 

66
Constructor Init (ALimit, ADelta: integer);
где Alimit начальная длина коллекции (количества размещаемых в дина-
мической памяти указателей);
Adelta шаг приращения коллекции. Если в ходе пополнения коллек-
ции её длина превысит начальную, TV будет наращивать по ADelta указа-
телей.
Например:
Var Persons : PCollection;
Begin
Persons : = New(PCollection , Init (50 , 20) );
Для отсортированной коллекции
Type
PMySortedCollection= ^ TMySortedCollection;
TMySortedCollection=object(TSortedCollection)
Function KeyOf (item:pointer):pointer;virtual;
Function Compare(key1,key2:pointer):integer;virtual;
end;
Var Persons: PMySortedCollection;
Включение элементов в коллекцию. Элементы
в коллекцию
включаются методом
Procedure Insert (Item:pointer);virtual;
где Item указатель на вставленный в коллекцию объект.
Для отсортированной коллекции предварительно проверяется, есть
ли уже в коллекции элемент с таким значением ключа. Если такого эле-
мента нет, то он вставляется в позицию, определённую своим ключом. Ес-
ли элемент найден, дальнейшие действия будут определены значениями
поля Duplication:
при False вставка не осуществляется, при True вставляет-
ся новый элемент перед элементом с одинаковым ключом.
Методы KeyOf и Compare. Эти методы использует класс
TSortedCollection для упорядочивания элементов в коллекции.
Function KeyOf (item:pointer):pointer;virtual;
Для данного элемента item^ коллекции KeyОf возвращает указатель
на соответствующий ключ. TSortedCollection. KeyОf просто возвращает
Item. KeyОf перекрывается в случае, когда ключ элемента не совпадает
с
самим элементом.
Function Compare(key1,key2:pointer):integer;virtual;
                                    66

Constructor Init (ALimit, ADelta: integer);
где Alimit − начальная длина коллекции (количества размещаемых в дина-
мической памяти указателей);
    Adelta − шаг приращения коллекции. Если в ходе пополнения коллек-
ции её длина превысит начальную, TV будет наращивать по ADelta указа-
телей.
       Например:
…
Var Persons : PCollection;
…
Begin
    Persons : = New(PCollection , Init (50 , 20) );
…
       Для отсортированной коллекции
Type
      PMySortedCollection= ^ TMySortedCollection;
      TMySortedCollection=object(TSortedCollection)
      Function KeyOf (item:pointer):pointer;virtual;
      Function Compare(key1,key2:pointer):integer;virtual;
      end;
Var Persons: PMySortedCollection;
       •     Включение элементов в коллекцию. Элементы в коллекцию
включаются методом
Procedure Insert (Item:pointer);virtual;
где Item − указатель на вставленный в коллекцию объект.
       Для отсортированной коллекции предварительно проверяется, есть
ли уже в коллекции элемент с таким значением ключа. Если такого эле-
мента нет, то он вставляется в позицию, определённую своим ключом. Ес-
ли элемент найден, дальнейшие действия будут определены значениями
поля Duplication: при False вставка не осуществляется, при True вставляет-
ся новый элемент перед элементом с одинаковым ключом.
       •     Методы KeyOf и Compare. Эти методы использует класс
TSortedCollection для упорядочивания элементов в коллекции.
• Function KeyOf (item:pointer):pointer;virtual;
       Для данного элемента item^ коллекции KeyОf возвращает указатель
на соответствующий ключ. TSortedCollection. KeyОf просто возвращает
Item. KeyОf перекрывается в случае, когда ключ элемента не совпадает с
самим элементом.
• Function Compare(key1,key2:pointer):integer;virtual;