что такое стек
Автор Владислав Порохин задал вопрос в разделе Другие языки и технологии
Что такое стек? и получил лучший ответ
Ответ от Максим[активный]
Стек — это структура данных и способ организации памяти, работающая по принципу LIFO (последним вошёл — первым вышел). Элементы добавляются и удаляются строго с одного конца, называемого вершиной. Это похоже на стопку тарелок: чтобы взять нижнюю, придётся снять все верхние. В компьютерах выделяют аппаратный стек процессора, который хранит адреса возврата и состояния регистров при вызове вложенных процедур, и программный, реализуемый через массивы или связные списки. Под эту структуру резервируется память, а указатель отслеживает её вершину. Операции добавления и удаления занимают время O(1), а поиск требует O(n). В старых переводах также встречалось название магазин.
Стек в процессоре хранит информацию для возврата в предыдущую точку, это тебе пригодиться только если асм будешь изучать, или низкоуровневую отладку через дебагер.
Работает по принципу последний зашел - первый вышел, как обойма пистолета.
Стек (от англ. stack — стопка) — структура данных, представляющая из себя упорядоченный набор элементов, в которой добавление новых элементов и удаление существующих производится с одного конца, называемого вершиной стека. При том первым из стека удаляется элемент, который был помещен туда последним, то есть в стеке реализуется стратегия «последним вошел — первым вышел» (last-in, first-out — LIFO). Примером стека в реально жизни может являться стопка тарелок : когда мы хотим вытащить тарелку, мы должны снять все тарелки выше
Вставка, удаление за O(1), поиск за O(n) по времени.
Реализовывать можно по разному.
Это когда в программе вызывается процедура, идёт переход к процедуре и чтобы компьютер запомнил как вернутся обратно после выполнения процедуры он записывает в специальное место в памяти адресс кода откуда вызвана была процедура, это стёк
Представь себе магазин для автомата. Ты можешь вставить патрон, можешь вынуть. Но что характерно, вставить патрон можно только сверху, и вынуть - тоже только верхний патрон. Это и есть стек. Только в компьютере в нем хранятся не патроны, а данные. Есть стек процессора, в котором принято хранить состояния регистров при входе в подпрограмму и восстанавливать их из стека после возвращения из нее. Это позволяет в случае, когда одна подпрограмма вызывает другую, восстановить регистры в правильном порядке. Программные же стеки представляют из себя динамические структуры данных, организованные в виде односвязного списка, в котором добавление и удаление всегда осуществляется с начала списка.
Стэк это очередь прослеженная в обратном порядке. От английского to stack распологать одно над другим. В русском переводе особенно советские переводчики использовали понятие магазин. Кстати в сопроцессоре математическом реализован принцип револьвера. Еще другое понятие структура типа LIFO last in first out. Чтобы проще понять стопка купюр в кассе так вот последнию достают первой. Это просто все делаеться резервируеться память и она указывает на самый верх стека скажем 1000 байт на самый последний а потом уменьшаеться вершина по мере загрузки элементов.
Стек это хлыст в БДСМ
Что такое куча, стек и область данных на C/C++ ?
Куча — это область памяти, выделяемая и освобождаемая динамически во время работы программы.
подробнее...
Из каких частей состоит военный строй(что такое шеренга и т,п,)? Кадетский строевой устав
Строй это уставное размещение военнослужащих и техники для совместных действий. Основные элементы
подробнее...
что такое периметр
Периметр — это сумма длин всех сторон замкнутой геометрической фигуры. Это понятие применяется в
подробнее...
Обьясните что такое портал? только НЕ в архитектуре
Само слово «портал» изначально означало главные ворота или вход. В сети это понятие приобрело новый
подробнее...
что такое родина?
Родина — это место, где человек родился и вырос. Это понятие делят на малую и большую Родину. Малая
подробнее...