Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
тюмгу / Лекции КБ ИБАС 1 курс 2 семестр / лекция2 Безопасность 2018.ppt
Скачиваний:
14
Добавлен:
08.12.2019
Размер:
698.88 Кб
Скачать

Пример создания очереди

1)функция Add, в зависимости от состояния очереди создает первый или добавляет очередной элемент в конец очереди;

2)функция Del извлекает информацию из начального элемента очереди с последующим освобождением его памяти;

3)функция Show отображает элементы очереди.

31

Пример создания очереди

Пример создания очереди

33

Пример создания очереди

34

Работа со стеком

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

Создание стека

1. Исходное состояние:

Top P

NULL

 

 

 

 

?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

?

35

 

Работа со стеком

2. Выделение памяти под первый элемент стека и внесение в него информации:

Top P

NULL

5 NULL

36

Работа со стеком

3. Установка вершины стека Тор на созданный элемент:

Top P

5 NULL

37

Добавление элемента в стек

1. Исходное состояние:

P? ?

Top

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

5 NULL

38

Добавление элемента в стек

2. Выделение памяти под новый элемент стека:

 

 

 

 

 

 

 

 

 

P

 

 

?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Top

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

5 NULL

39

Добавление элемента в стек

3. Внесение значения в информационное поле нового элемента и установка связи между ним и "старой" вершиной стека Тор:

P 10

Top

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

5 NULL

40