ВУЗ:
Составители:
Рубрика:
29
first1
...
last1
...
Для решения указанной задачи достаточно выполнить всего пять операторов
присваивания:
last1^.next:=first2;
first2^.prev:=last1;
last1:=last2;
first2:=nil;
last2:=nil;
Заметим, что решение аналогичной задачи для массива требует использования
цикла с числом итераций, равным размеру добавляемого массива.
3 Абстрактные типы данных и их реализация. Классы
До сих пор мы сталкивались с конкретными типами данных, простыми или
составными (массивы, записи, списки). Каждый тип данных характеризуется:
• набором допустимых значений;
• операциями, которые можно выполнять над данными этого типа;
• внутренним представлением данных этого типа в оперативной памяти.
В большинстве случаев для клиента, использующего тип данных, важны
лишь
первые два пункта. Например, при работе с данными вещественного типа
обычно достаточно знать, что над ними можно производить арифметические опе-
рации, а также необходимо знать минимальное и максимальное положительное
вещественное значение, представимое в памяти.
Абстрактный тип данных (АТД) – это тип данных, доступ к которым осу-
ществляется только через некоторый набор
действий (операций, подпрограмм).
Этот набор действий называется интерфейсом абстрактного типа данных.
Чтобы абстрактный тип данных можно было использовать, необходимо дать
реализацию всех операций, входящих в его интерфейс. Реализация при этом
должна быть скрыта от клиента; данное правило называется принципом сокрытия
реализации. Деление абстрактного типа данных на интерфейс и реализацию, а
также
сокрытие реализации, имеет несколько важных последствий. Во-первых,
программист, использующий тип данных, может работать с ним только через его
интерфейс, то есть вызывает только те операции, которые были предусмотрены
разработчиком типа данных. Во-вторых, впоследствии разработчик абстрактного
типа данных может поменять его реализацию без изменения интерфейса, что не
Страницы
- « первая
- ‹ предыдущая
- …
- 25
- 26
- 27
- 28
- 29
- …
- следующая ›
- последняя »