Динамические структуры данных. Задание практикума. Язык Паскаль. Вылиток А.А - 8 стр.

UptoLike

- 8 -
типа, в результате чего все указатели, содержащие ссылку на уничтоженный
объект, становятся неопределёнными.
Для переменных p и q, изображённых на последней схеме, выполнение
оператора dispose(q) приведёт к исчезновению динамического объекта со
значением 35, а значения переменных p и q станут неопределёнными.
значения p и q определены и
равны между собой
значения p и q ( оба! ) не
определены
Линейные списки и их реализация посредством статических и
динамических структур данных
Понятие списка хорошо известно из жизненных примеров: список
студентов учебной группы, список призёров олимпиады, список (перечень)
документов для представления в приёмную комиссию, список почтовой
рассылки, список литературы для самостоятельного чтения и т.п.
В математике список (или кортеж) – это конечная последовательность
(допускающая повторения) элементов какого-нибудь множества Ψ. Список
обозначается <x
1
,x
2
,…,x
n
>, где n (n0) – количество элементов, или длина
списка, для i=1,…,n x
i
есть i-й элемент списка (x
i
Ψ). Об элементе x
i
говорят также, что он занимает i-ю позицию в списке. При n = 0 получается
пустой список, который не содержит элементов и обозначается < >.
Элементы множества Ψ могут иметь весьма сложную структуру, отражая
реальные объекты и процессы. Вследствие этого возможны списки, в которых
некоторые элементы сами являются списками или содержат списки внутри
себя.
Такие списки называют иерархическими. В отличие от них списки, не
допускающие таковых внутри себя, называются линейными.
Далее в качестве множества Ψ будем рассматривать множество значений
некоторого типа языка Паскаль. Этот тип в общем случае будем обозначать
именем elemtype (от англ. element type – тип элемента).
Важной структурной особенностью списка является то, что его
элементы
линейно упорядочены в соответствии с их позицией в списке. Для i=1,…,n-1
элемент x
i
предшествует элементу x
i+1
; для i=2,…,n элемент x
i
следует
за элементом x
i-1
.
Следующие операции можно применять к линейным спискам:
1) Получить значение i-го элемента списка или изменить i-й элемент;
2) Напечатать элементы списка в порядке их расположения;
3) Найти в списке элемент с заданным значением;
4) Определить длину списка;
p
q
p
35
q
{
dispose(q)
}
типа, в результате чего все указатели, содержащие ссылку на уничтоженный
объект, становятся неопределёнными.
       Для переменных p и q, изображённых на последней схеме, выполнение
оператора dispose(q) приведёт к исчезновению динамического объекта со
значением 35, а значения переменных p и q станут неопределёнными.

p                                                         p
                   35            {dispose(q)}
q                                                         q

значения p и q определены и                       значения p   и q ( оба! )   не
равны между собой                                 определены




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

       Понятие списка хорошо известно из жизненных примеров: список
студентов учебной группы, список призёров олимпиады, список (перечень)
документов для представления в приёмную комиссию, список почтовой
рассылки, список литературы для самостоятельного чтения и т.п.
       В математике список (или кортеж) – это конечная последовательность
(допускающая повторения) элементов какого-нибудь множества Ψ. Список
обозначается , где n (n≥0) – количество элементов, или длина
списка, для i=1,…,n xi есть i-й элемент списка (xi ∈ Ψ). Об элементе xi
говорят также, что он занимает i-ю позицию в списке. При n = 0 получается
пустой список, который не содержит элементов и обозначается < >.
       Элементы множества Ψ могут иметь весьма сложную структуру, отражая
реальные объекты и процессы. Вследствие этого возможны списки, в которых
некоторые элементы сами являются списками или содержат списки внутри себя.
Такие списки называют иерархическими. В отличие от них списки, не
допускающие таковых внутри себя, называются линейными.
       Далее в качестве множества Ψ будем рассматривать множество значений
некоторого типа языка Паскаль. Этот тип в общем случае будем обозначать
именем elemtype (от англ. element type – тип элемента).
       Важной структурной особенностью списка является то, что его элементы
линейно упорядочены в соответствии с их позицией в списке. Для i=1,…,n-1
элемент xi предшествует элементу xi+1; для i=2,…,n элемент xi следует
за элементом xi-1.

      Следующие операции можно применять к линейным спискам:

1) Получить значение i-го элемента списка или изменить i-й элемент;
2) Напечатать элементы списка в порядке их расположения;
3) Найти в списке элемент с заданным значением;
4) Определить длину списка;


                                     -8-