Cтраница 2
Стеки и очереди имеют важное значение в бухгалтерском деле. Для выполнения какой-либо определенной задачи может потребоваться выполнение ряда подзадач. Каждая подзадача может в свою очередь привести к другим требующим выполнения подзадачам. И стеки, и очереди являются механизмом, посредством которого запоминаются подзадачи, подлежащие выполнению, а также порядок, в котором они должны быть выполнены. В некоторых случаях порядок таков: Первым пришел - последним ушел; тогда удобно использовать стеки. Если порядок подчиняется правилу: Первым пришел - первым ушел, то подходящим инструментом являются очереди. [16]
![]() |
Выполнение функции pop. [17] |
Стеки имеют множество разнообразных применений. Например, всякий раз, когда происходит вызов функции, вызванная функция должна знать, как вернуться к вызывающей, поэтому адрес возврата помещается в стек. В случае, когда происходит целый ряд последовательных вызовов, адреса возврата размещаются в стеке в порядке последним пришел - первым вышел, так что после завершения выполнения каждой функции происходит переход к функции, ее вызывавшей. Стек поддерживает как обычные нерекурсивные вызовы, так и рекурсивный вызов функций. [18]
Стеки используются компиляторами как вспомогательный элемент в процессе оценки выражений и создания машинного кода. В этом и следующем упражнении мы выясним, как компиляторы оценивают арифметические выражения, состоящие только из констант, знаков операций и скобок. [19]
![]() |
Работа с двойным стеком. [20] |
Двойные стеки целесообразно использовать, когда возникает необходимость в заполнении стека с произвольного входа, например если поступающие записи имеют разный приоритет. [21]
Стеки драйверов позволяют отделить управление шиной от управления собственно устройством. Управление шиной PCI отличается большой сложностью, что вызвано большим количеством режимов и транзакций шины. Таким образом, отделение управления шиной от управления устройством, подключенным к данной шине, облегчает работу по созданию драйвера. Программисту, пишущему драйвер устройства, более не нужно изучать вопрос управления шиной. Он может просто использовать стандартный драйвер шшШТнаходящийся в стеке драйверов. У драйверов USB и SCSI есть части, специфичные для конкретных устройств, и общая часть, для которой используются отдельные драйверы. [22]
СТЕКа SP, пересылается в младший регистр пары регистров гр. [23]
Стеки драйверов позволяют отделить управление шиной от управления собственно устройством. Управление шиной PCI отличается большой сложностью, что вызвано большим количеством режимов и транзакций шины. Таким образом, отделение управления шиной от управления устройством, подключенным к данной шине, облегчает, работу по созданию драйвера. Программисту, пишущему драйвер устройства, более не нужно изучать вопрос управления шиной. Он может просто использовать стандартный драйвер шины, находящийся в стеке драйверов. У драйверов USB и SCSI есть части, специфичные для конкретных устройств, и общая часть, для которой используются отдельные драйверы. [24]
Стеки протоколов SNA компании IBM, DECnet корпорации Digital Equipment и Apple-Talk / AFP компании Apple применяются в основном в ОС и сетевом оборудовании этих компаний. [25]
![]() |
Запись таблицы для отображаемой страницы на компьютере с процессором Pentium. [26] |
Стеку требуется дополнительная память. [27]
В стеки или очереди данные можно добавлять в какой-либо один конец структуры данных ( это относится и к извлечению данных); проведение этих операций с данными, расположенными в произвольном месте структуры, не допускается. Связанный список является одномерной структурой данных, в произвольно выбранное место которой могут включаться данные, а также изыматься оттуда. Чтобы обеспечить такую гибкость, в каждый элемент добавляется звено связи, указывающее следующий элемент списка. [28]
Внизу стека находится наименее доступный элемент, и он не удаляется до тех пор, пока не будут исключены все другие элементы. Часто говорят, что элемент опускается ( push down) в стек или что стек поднимается ( pop up), если исключается верхний элемент. Эта терминология берет свое начало от стеков закусок, которые можно встретить в кафетериях, или по аналогии с колодами карт в некоторых перфораторных устройствах. Физически, однаво, ничего не опускается; элементы просто добавляются сверху, как ври стоговании сена или при укладке кипы коробок. [29]
Эти стеки могут содержать либо числа, представленные в двоичной системе счисления, либо специальные символы, называемые код-1, код-2, код-3 и код-4. Алгоритм строит также дополнительную таблицу чисел qh, rk; эта таблица устроена таким образом, что ее можно хранить в запоминающем устройстве как линейный список, и все доступы к этой таблице просты, так что, пользуясь одним-единственным указателем ( который проходит список, двигаясь взад и вперед), можно выбрать нужный текущий элемент. [30]