Стек — про него мы уже говорили в одном уроке.
Стек можно реализовать разными способами. Допустим, можно реализовать стек с помощью массива, но как мы уже знаем, массив может занимать больше места, да и произвольный доступ к элементу стеку не нужен. А вот список в данном случае - отличный способ создать упорядоченную коллекцию. То есть стек - это тот же список, только с другими методами работы и некоторыми ограничениями.
Очередь в каком-то смысле является антонимом стека. Структура организации данных FIFO - First in, First out (первым пришёл — первым ушёл). Наглядный пример - обычная очередь в магазине: кто первый встал в очередь, тот первым и выйдет из нее.
Реализация такая же, как и у стека, отличие только в методах взятия элемента.
Стеки и очереди встречаются гораздо чаще, просто мы не всегда обращаем на это внимание. Например, обычный стектрейс ошибок или вызовов - это и есть стек.
const foo = () => {
const bar = () => {
console.trace();
};
bar();
};
foo();
В консоли следующий трэйс будет отображён так:
bar
foo
<anonymous>
Очередь — обработка запросов сервером пользователей сайта.
Как мы уже сказали, стек можно реализовать с помощью списка, который мы делали в предыдущих уроках. Реализация одной структуры данных на основе другой - частая практика. Это мы и потренируемся делать в упражнении.
Вам ответят команда поддержки Хекслета или другие студенты.
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.
Наши выпускники работают в компаниях:
Зарегистрируйтесь или войдите в свой аккаунт