Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование_ответы.docx
Скачиваний:
8
Добавлен:
22.09.2019
Размер:
138.16 Кб
Скачать

21. Стэк. Понятие, описание в программе, основные операции.

Стек — структура данных, в которой доступ к элементам организован по принципу LIFO (англ. last in — first out, «последним пришёл — первым вышел»). Чаще всего принцип работы стека сравнивают со стопкой тарелок: чтобы взять вторую сверху, нужно снять верхнюю.

Добавление элемента, называемое также проталкиванием (push), возможно только в вершину стека (добавленный элемент становится первым сверху). Удаление элемента, называемое также выталкиванием (pop), тоже возможно только из вершины стека, при этом второй сверху элемент становится верхним.

Стеки широко применяются в вычислительной технике. Например, для отслеживания точек возврата из подпрограмм используется стек вызовов, который является неотъемлемой частью архитектуры большинства современных процессоров. Языки программирования высокого уровня также используют стек вызовов для передачи параметров при вызове процедур.

Procedure CreateStack type pList=^List;

Begin List=Record

New(pTop); D:Integer;

pTop.D:=-1; Next:Plist;

pTop.Next:=nil; end;

end;

Операции:

  1. Начальное формирование

  2. Добавление

  3. Удаление

  4. Вывести на экран

22. Очередь. Понятие, описание в программе, основные операции.

О́чередь — структура данных с дисциплиной доступа к элементам «первый пришёл — первый вышел» (FIFO, First In — First Out). Добавление элемента (принято обозначать словом enqueue — поставить в очередь) возможно лишь в конец очереди, выборка — только из начала очереди (что принято называть словом dequeue — убрать из очереди), при этом выбранный элемент из очереди удаляется.

Procedure Create

Begin type pList=^List;

New(pBegin); List=Record

New(pEnd); D:Integer;

pBegin.D:=-1; Next:Plist;

pEnd.D:=-1; end;

pBegin.Next:=pEnd;

pEnd.Next:=nil;

end;

Операции:

  1. Начальное формирование

  2. Добавление

  3. Удаление

  4. Вывести на экран

23. Списки. Понятие, описание в программе, основные операции.

Свя́зный спи́сок — структура данных, состоящая из узлов, каждый из которых содержит как собственные данные, так и одну или две ссылки («связки») на следующий и/или предыдущий узел списка. Принципиальным преимуществом перед массивом является структурная гибкость: порядок элементов связного списка может не совпадать с порядком расположения элементов данных в памяти компьютера, а порядок обхода списка всегда явно задаётся его внутренними связями.

Procedure Create

Begin type pList=^List;

New(pBegin); List=Record

New(pEnd); D:Integer;

pBegin.D:=-1; Next:Plist;

pEnd.D:=-1; end;

pBegin.Next:=pEnd;

pEnd.Next:=nil;

end; Двунаправленный список

type pList=^List;

List=Record

Операции: D:Integer;

  1. Формирование (очередь) next,prev:pList;

  2. Просмотр элементов списка (очередь) end;

  3. Добавление в начало (стек)

  4. Добавление в конец (очередь)

  5. Удаление из начала (очередь)

  6. Удаление из конца

  7. Добавление в середину

  8. Удаление из середины

  9. Поиск элемента