Динамични структури данни. Линеен едносвързан списък
| Информационни технологии | 2009-12-04 | 228 сваляния |
Динамични структури данни. Линеен едносвързан списък.
-
Указатели.
Най-общо оперативната памет (ОП) се дели на статична и динамична. Структурите данни, с които работихме о момента масив, запис и множество, се разполагат в статичната област на ОП. Тя обаче, е с ограничен размер (64К за DOS приложения) и много често е недостатъчна. Тогава се използва динамичната памет (heap, куп). Тя се управлява чрез механизма на указателите. Указателят представлява адрес от динамичната памет. Идеята, лежаща в основата на концепцията за указателите , се състои в това да се свърже определен тип данни с конкретен указател (адрес). Например, ако е необходимо да се свърже указател P с тип данни T, е достатъчно да се запише:
var P:^T;
Пример:
type rec=record
i:integer;
c:char;
end;
arr:array[1..10] of rec;
var Pi:^integer;
Pc:^char;
Pr:^rec;
Pa:^arr;
Чете се: Pi е указател (адрес) към данни от тип integer или Pi сочи динамична променлива от тип integer. Променливите Pi, Pc, Pr и Pa са променливи-указатели и представляват адреси на променливи от тип integer, char, rec и arr, разположени в динамичната памет. Тези променливи св наричат динамични, защото програмистът може даги създава и унищожава като заема или освобождава памет по време на изпълнение на програмата.
При работата с указатели могат да се отделят следните етапи:
-
деклариране;
-
създаване;
-
използване;
-
[унищожаване.]
Нека P е променлива-указател към тип данни T, т.е
var P:^T;
Създаването и унищожаването на динамични данни се извършва с помощта на стандартните процедури:
-
New(P) отделя памет за променлива от тип T и адресът на тази промрнлива се записва в P. Достъпът до нейната стойност става чрез указателя й. Тя няма собствено име, а се означава с
Тагове от реферата: едносвърз, инамични, инеен, руктури, списък











