Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
24-33.docx
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
130.84 Кб
Скачать

32.Управляющие конструкции языков программирования

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

33. Динамические структуры данных. Списки. Стеки. Очереди

Списки

Выделим типовые операции над списками:

  • добавление звена в начало списка;

  • удаление звена из начала списка;

  • добавление звена в произвольное место списка, отличное от начала (например, после звена, указатель на которое задан);

  • удаление звена из произвольного места списка, отличного от начала (например, после звена, указатель на которое задан);

  • проверка, пуст ли список;

  • очистка списка;

  • печать списка.

Cтеки

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

По определению, элементы извлекаются из стека в порядке, обратном их добавлению в эту структуру, т.е. действует принцип "последний пришёл — первый ушёл".

Наиболее наглядным примером организации стека служит детская пирамидка, где добавление и снятие колец осуществляется как раз согласно определению стека.

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

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

  • добавление элемента в стек;

  • удаление элемента из стека;

  • проверка, пуст ли стек;

  • просмотр элемента в вершине стека без удаления;

  • очистка стека.

Очереди

Очередь — это информационная структура, в которой для добавления элементов доступен только один конец, называемый хвостом, а для удаления — другой, называемый головой. В англоязычной литературе для обозначения очередей довольно часто используется аббревиатура FIFO (first-in-first-out — первый вошёл — первым вышел).

Очередь разумнее всего моделировать, отобразив её на двунаправленный кольцевой список. В этом случае в заглавном звене будет присутствовать информация как об указателе на голову, так и на хвост очереди.

Выделим типовые операции над очередями:

  • добавление элемента в очередь (помещение в хвост);

  • удаление элемента из очереди (удаление из головы);

  • проверка, пуста ли очередь;

  • очистка очереди.

34. Программирование в ms Visual Studio

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]