ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Занятие 1. Стек. Отличия стека от списка. Основные операции со стеком.На предыдущих занятиях мы уже рассматривали однонаправленный список. Здесь Вы познакомитесь с двумя разновидностями обычного линейного списка – стеком и очередью. В программировании наиболее часто используемой структурой является стек. Стек – это линейный список, в котором добавление новых элементов и удаление существующих производится только с одного конца, называемого вершиной стека. Стек часто называют структурой LIFO [сокращение LIFO означает Last In – First Out (последний пришел, первый вышел)]. Это сокращение представляет удобный способ запомнить механизм работы стека Изобразим стек графически: При программировании на Паскале стек реализуется чаще всего в виде однонаправленного списка. Каждый элемент структуры содержит указатель на следующий. Считается лишь, что для этого списка не существует обход элементов. Доступ возможен только к верхнему элементу структуры. Стек предполагает вставку и удаление элементов, поэтому он является динамической, постоянно меняющейся структурой. Стеки довольно часто встречаются в практической жизни. Простой пример: детская пирамидка. Процесс ее сборки и разборки подобен процессу функционирования стека. Итак, если стек – это список, то добавление или извлечение элементов происходит с начала и только с начала (или возможно с конца и только с конца) списка. Значением указателя, представляющего стек, является ссылка на вершину стека, каждый элемент стека содержит поле ссылки. Таким образом, описать стек можно следующим образом: Type EXST = ^ST; ST = record Data: integer; Next: EXST; end; Var Stack: EXST; {Текущая переменная} Если стек пуст, то значение указателя равно Nil. Рассмотрим возможные операции со стеком. Не нашли, что искали? Воспользуйтесь поиском:
|