Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по ООП.doc
Скачиваний:
31
Добавлен:
25.09.2019
Размер:
1.04 Mб
Скачать

79.Контейнер объектов SortedArray

SORTEDARRAY

Name

SORTEDARRAY -- Класс предназначен для управления сортированными данными.

Synopsis

tSortedArrayNew() --> SortedArray object

tSortedArray() --> SortedArray object

Description

Класс предназначен для управления сортированными данными.

Attributes

<Items> Array, массив

<Error> String, содержит описание ошибки, если она произошла.

<Found> Logical, если TRUE, то поиск был успешен.

Methods

ADD Добавить новый элемент.

DEL Удалить элемент из массива.

DELITEM Удалить элемент по индексу.

GETDATA Вернуть по индексу значение.

GETFIRST Вернуть значение первого элемента сортированного массива

GETITEM Вернуть элемент по индексу.

GETKEY Получить ключ элемента по индексу.

GETLAST Вернуть значение последнего элемента сортированного массива

HARDSEEK Жесткий поиск.

LEN Вернуть длину отсортированного массива.

SEEK Поиск элемента в массиве

SOFTSEEK Мягкий поиск элемента.

TSORTEDARRAYNEW Конструктор класса SORTEDARRAY.

73.Библиотека контейнерного класса структур данных.

Контейнеры - это объекты, реализующие общие структуры данных, предлагающие функции-элементы для доступа к каждому элементу данных и добавления таких элементов. При этом внутренние детали скрыты от пользователей. Контейнеры могут содержать целые и вещественные числа, строки, структуры, классы, типы, определенные пользователями, и любые объекты C++.

Контейнеры Borland реализуются с помощью шаблонов. Вы можете передавать в шаблон любой тип объекта, который хотите включить в контейнер. Это облегчает, например, инициализацию массивов.

Библиотеку класса контейнера можно разделить на две категории: фундаментальные структуры данных FDS (Fundamental Data Structures) и абстрактные типы данных ADT (Abstract Data Types)

Контейнеры и файлы заголовков Borland

Структуры FDS - это контейнеры нижнего уровня, реализующие структуры памяти. Каждая FDS имеет фундаментальные функции добавления и отсоединения. Типы ADT обычно используются в конструкциях обработки данных. Каждый тип ADT имеет соответствующие методы, например, контейнеры стека - функции-элементы Push и Pop.

Каждый тип ADT основан на FDS. Например, TArrayAsVector реализует массив, используя в качестве соответствующей структуры FDS вектор. Контейнеры ADT используют характеристики хранения соответствующих FDS и добавляет специфические методы доступа, которые делают каждый из них уникальным.

Контейнеры могут хранить копии объектов (прямые контейнеры) или указатели на объекты (косвенные контейнеры). Например, следующий контейнер является косвенным массивом, в котором хранятся указатели на значения float:

TIArraysAsVector<float> FloatPtrArray(10);

где I - имя шаблона, указывающее соответствующий контейнер.

В некоторых типах контейнеров содержимое записывается в отсортированном виде. Отсортированные контейнеры (как косвенные, так и прямые) должны иметь соответствующую операцию <, что позволяет определить порядок элементов. Эти операции предусмотрены для предопределенных типов. Для типов, определенных пользователем, вы должны обеспечить такую операцию. Для прямых объектов тип должен иметь допустимую операцию == - используемый по умолчанию конструктор. Для косвенных контейнеров сортируются объекты, а не указатели, которые содержит контейнер.