КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Использование стека
При разработке алгоритмов трансляции арифметических выражений широко используются наборы данных со стековой организацией. Стек - это упорядоченный набор элементов, в котором внесение новых элементов и выборка имеющихся осуществляются в соответствии с дисциплиной LIFO (Last In - First Out), когда последний внесенный элемент удаляется первым. Графически стек можно представить в виде бесконечной в одну сторону последовательности слов памяти, причем запись и чтение данных возможны только c одного конца, называемого вершиной стека, что показано на рис. 3. В простейшем случае при работе со стеком определены две операции: 1) занесение элемента в стек; 2) выборка (извлечение) элемента из стека. При занесении в стек новый элемент размешается следующим за вершиной и сам становится вершиной cтека. При выборке элемента из стека удаляется только один верхний элемент, т.е. вершина. Иногда разрешается считывать элементы, находящиеся ниже вершины, но не допускается изменять их значения или добавлять новые элементы ниже вершины. Пример работы со стеком приведен на рис. 4.
При реализации стека для хранения вещественных чисел с использованием массива, например на языке Паскаль, соответствующий тип данных можно определить следующим образом. type Stack = record top: integer; {вершина стека} element: array [1..Max] of real {элементы стека} end; Операция записи элемента x в стек S выполняется процедурой Push. procedure Push(x: real; var S: Stack);
Дата добавления: 2015-06-28; Просмотров: 417; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |