Главная » Java, Структуры данных и алгоритмы » Абстрактный тип данных «последовательность»

0

В этом разделе рассматривается обобщенный АТД «последовательность», который содержит все методы абстрактных типов данных «список» и «вектор». Таким образом, доступ к элементам этого АТД может осуществляться с помощью разрядов и позиций, а сама структура данных может применяться во многих приложениях.

Последовательность является абстрактным типом данных, поддерживающим все методы векторов (раздел 5.1) и списков (раздел 5.2), а также два дополнительных «связующих» метода, которые обеспечивают переход между разрядами и позициями:

atRank (г): возвращает позицию элемента с разрядом г.

Input: целое число; Output: позиция.

rankOf (/?): возвращает разряд элемента в позиции р.

Input: позиция; Output: целое число.

Сущность АТД «последовательность» является примером множественного наследования, так как последовательность наследует методы сразу двух предшествующих ему АТД, и применяемые методы представляют собой сочетание методов этих АТД.

Рассмотрим фрагмент кода 5.11, содержащий Java-спецификацию.

interface Sequence extends List, Vector { // Дополнительные "переходные" методы.

public Position atRank(int rank) throws BoundaryViolationException; public int rankOf(Position position) throws InvalidPositionException; ‘

}

Фрагмент кода 5.11. Интерфейс последовательности, описанный с помощью множественного наследования

Источник: Гудрич М.Т. Г93 Структуры данных и алгоритмы в Java / М.Т. Гудрич, Р. Тамассия; Пер. с англ. A.M. Чернухо. — Мн.: Новое знание, 2003. — 671 е.: ил.

По теме:

  • Комментарии