Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Data_Structure / лекц05.ppt
Скачиваний:
52
Добавлен:
03.03.2016
Размер:
212.99 Кб
Скачать

Частный случай - список, состоящий из двух элементов:

Lst

 

 

 

 

Для такого списка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lst^.ukz^.ukz=nil

 

 

 

 

 

 

 

Случай является частным, так как меняется указатель на начало списка:

Elem^.ukz:=Lst;

Lst:=Elem;

Lst

Elem

Lst

32

Если в списке менее двух элементов, процедура не выполняется:

Lst=nil – список пуст

Lst^.ukz=nil- в списке один элемент

Lst

33

Процедура, решающая указанную задачу:

Procedure add_el(var Lst:u;

 

elem:u);

Var p,q:list;

 

Begin

{Procedure del_last}

if (Lst=nil) OR {операция невыполнима}

(Lst^.ukz=nil) then Exit; if Lst^.ukz^.ukz=nil then

{частный случай}

Begin

Elem^.ukz:=Lst;

Lst:=Elem

End;

34

 

{общий случай}

P:=Lst; Q:=Lst^.ukz;

While Q^.ukz^.ukz<>nil do

Begin

P:=Q;

Q:=Q^.ukz;

End;

Elem^.ukz:=Q;

P^.ukz:=Elem;

End;

{Procedure del_last}

35

 

 

Стек

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

36

Над стеком определены следующие операции:

занесение нового элемента;

выборка и удаление элемента.

Дисциплина обслуживания- LIFO (Last In First Out)

Вершина

стека

37

Очереди

Над очередью определены следующие операции:занесение нового элемента;выборка и удаление элемента.

Дисциплина обслуживания- FIFO (First In First Out)

«Голова»

 

 

«Хвост»

 

 

 

 

Выборка и

Занесение

удаление

 

38

Соседние файлы в папке Data_Structure