Курсовая работа: Структури даних для обробки інформації
new(a);
new(b);
new(с);
read(a^,b^);
c^:=a^;
a^:=b^;
b^:=c^;
writeln(a^,' ',b^);
end.
Результат роботи програми:
1 2
2 1
В даній програмі використовується три динамічні змінні (три комірки пам’яті). Вона працює повністю аналогічно як у випадку із звичайними статичними змінними.
Приклад 1 ефективніший за приклад 2 , бо:
По-перше , використовується дві комірки пам’яті;
По-друге , вміст комірок пам’яті не змінюється.
1.2. ЗВ’ЯЗАНИЙ СПИСОК. СТЕК
Вказівники та динамічні змінні дозволяють створювати складні динамічні структури.
Найпростішою з них є зв’язаний список.
Схематично зв’язаний список можна зобразити так:
a 1 – змінна-вказівник
Елемент списку a 1^ – це динамічна змінна (наприклад типу zapis=record), яка в найпростішому випадку складається з двох полів: інформаційного (наприклад, name:string) та змінної-вказівника на наступний елемент списку (next:^zapis). Тобто, динамічна змінна – елемент списку – крім деякого значення містить адресу (змінну-вказівник) наступного елемента списку.
Спробуємо описати тип динамічної змінної.
Якщо ми назвали тип динамічної змінної zapis, то, здавалося б, цей тип має виглядати так:
type
zapis =record
|
next:^zapis;
end;
Щоб вийти з цієї ситуації оголосимо спочатку «тип-вказівник» elem на тип zapis: