Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Data_Structure / лекц05.ppt
Скачиваний:
38
Добавлен:
03.03.2016
Размер:
212.99 Кб
Скачать

Указатели

типизированные

Тип данных, помещаемых в ДРОП, заранее определен

нетипизированные

Могут ссылаться на данные любого типа, расположенные в ДРОП

1

Работа с указателями:

Var p1:^integer;

{ p1- адрес целого числа}

p2:^string;

{p2 – адрес строки}

p3: pointer;

{p3 – просто адрес в ДРОП}

Теперь p1-адрес, а p1^–содержимое памяти по этому адресу

2

Выделение динамической памяти при использовании типизированных указателей

 

NEW(P)

.

 

 

Типизированный указатель

Выделяется память

в ДРОП (размер- в

зависимости от типа указателя), и адрес выделенного участка присваивается указателю P.

3

Освобождение памяти

DISPOSE(P)

область памяти, адресуемая указателем P, освобождается и возвращается в "кучу" (при этом указатель P не должен иметь значение Nil или быть неопределенным).

Nil - Пустой указатель

4

Связное распределение памяти

5

При связном распределении памяти каждый элемент данных обязательно хранит ссылку (адрес) на элемент, который должен обрабатываться после него. В статической памяти хранится только адрес элемента, обрабатываемого первым.

6

Связные списки

7

Списки- наиболее гибкая структура данных.

Достоинства списков:

Элементы списка доступны для удаления или вставки в любой позиции;

Память выделяется именно в том объеме, который необходим для размещения данных;

Нет необходимости в использовании непрерывной области памяти

8

Виды списков

p

.....

Односвязный список

9

p1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. . .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Двусвязный список

10

p3

.....

Кольцевой список

11

Соседние файлы в папке Data_Structure