Стандартные процедуры размещения и освобождения динамической памяти.

Стандартные процедуры размещениядинамической памяти.

1)New (P); - где Р - переменная типа «типизированный указатель».

2)GetMem (P,size); - где P - переменная типа «указатель» требуемого типа. size - целочисленное выражение размера запрашиваемой памяти в байтах. (Неожиданный поворот событий!)

Стандартные процедуры освобождения динамической памяти.

2)Dispose (P); - где P - переменная типа «указатель» (типизированный).

3) FreeMem (P, size); - где P - переменная типа «указатель», size - целочисленное выражение размера памяти в байтах для освобождения.

4) МАRK и RELEASE.

Mark (P);Release (P); - где P - переменная типа «указатель»;

RELEASE - освобождает всю динамическую память, которая выделена процедурами NEW или GETMEM после запоминания текущего значения указателя Р процедурой MARK.

13. Способы освобождения динамической памяти.(ЛБЯТЬ!!!!!Этот вопрос же сверху!!!!)

1) Автоматически по завершении всей программы.

2) С помощью стандартной процедуры Dispose (P);

3) С помощью стандартной процедуры FreeMem (P, size);

4) С помощью стандартных процедур МАRK и RELEASE.

Стандартные функции обработки динамической памяти.

В процессе выполнения программы может возникнуть необходимость наблюдения за состоянием динамической области. Цель такого наблюдения - оценка возможности очередного выделения динамической области требуемого размера.

MaxAvail; - Эта функция возвращает размер в байтах наибольшего свободного в данный момент участка в динамической области.Тип возвращаемого значения - longint.

MemAvail;-Эта функция возвращает общее число свободных байтов динамической памяти, то есть суммируются размеры всех свободных участков и объем свободной динамической области. Тип возвращаемого значения - longint.

Бинарное дерево. Построение бинарного дерева с элементами:35, 10,15,8,20,27.

_____35______

__10_________

8____15______

________20___

___________27

Организация списков.

Список - структура данных, в которой каждый элемент имеет информационное поле (поля) и ссылку (ссылки), то есть адрес (адреса), на другой элемент (элементы) списка.

Каждый элемент списка содержит информационную и ссылочную части. Для однонаправленного списка элемент должен содержать как минимум два поля: одно поле типа «указатель», другое - для хранения данных пользователя. Для двунаправленного - три поля, два из которых должны быть типа «указатель».

Стандартные процедуры размещения и освобождения динамической памяти. - student2.ru

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

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

Если последний элемент списка содержит «нулевую» ссылку, то есть содержит значение предопределенной константы NIL, то такой список называется линейным.

Если дадим имя первому элементу FIRST, и если он будет равен NIL, то значит список пуст.

Если последний элемент содержит ссылку на первый элемент списка, то такой список называется кольцевым, циклическим.

17. Структура линейного однонаправленного списка. Стандартные процедуры размещения и освобождения динамической памяти. - student2.ru

Наши рекомендации