Структуры данных и модели вычислений

         

При ее использовании могут возникнуть


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

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

Вставить в список элемент после элемента, находящегося в позиции

Следующие две операции рассмотрим на примере одностороннего циклического списка (см. рис. 2.4).

Добавить элемент к концу списка

Добавить элемент к началу списка


Следующие три процедуры рассмотрим на примере двустороннего циклического списка (см. рис. 2.6).

Удалить последний элемент списка

Удалить первый элемент списка

Удалить из списка элемент, находящийся в позиции


Содержание  Назад  Вперед