Как работают стеки и как вы можете использовать их в своих программах.
Стек — это структура данных, которая позволяет хранить данные и получать доступ к ним в порядке поступления — первым пришел. Это означает, что элемент на вершине стека удаляется первым. Стеки часто используются в программировании для обработки ввода и вывода или для отслеживания обрабатываемых элементов. В этом посте мы обсудим, как работают стеки и как вы можете использовать их в своих программах!
Принцип «последним пришел – первым вышел»
Как мы упоминали ранее, стеки используют принцип «последним пришел – первым вышел». Это означает, что самый последний элемент, который будет добавлен в стек, будет первым, который будет удален. Чтобы визуализировать это, представьте себе стопку книг. Если вы добавите новую книгу в верхнюю часть стопки, она будет первой, которая будет удалена, когда вы начнете вынимать книги из стопки.
Вы можете думать о стеке как о контейнере с двумя концами: верхним и нижним. Элементы добавляются в верхнюю часть стека и также удаляются из нее. Это позволяет вам получить доступ к самому последнему элементу в стеке, не удаляя сначала все остальные элементы.
Реализация стека в JavaScript
Теперь, когда мы знаем, как вообще работают стеки, давайте посмотрим, как они реализованы в JavaScript. В JavaScript нет встроенной структуры данных стека. Однако мы можем реализовать функциональность стека, используя массив.
Добавление и удаление элементов
Добавление элемента в стек называется отправкой. Чтобы добавить элемент в стек, вам просто нужно положить его на вершину стека.
let stack = []; stack.push(val);
Удаление элемента из стека называется поп. Чтобы удалить элемент из стека, вы берете верхний элемент из стека и откладываете его в сторону. Элемент, который был под ним, становится новым верхним элементом.
let stack = [12, 13]; let val = stack.pop(); return val; // 13
Проверка, пуст ли стек
Может быть полезно знать, пуст стек или нет. Для этого вы можете использовать свойство .length:
let stack = []; if (stack.length === 0) { console.log(“Stack is empty”); } else { console.log(“Stack is not empty”); }
Получение верхнего элемента стека
Если вы хотите получить верхний элемент стека, не удаляя его, мы можем реализовать метод peek().
function peek(stack) { if (stack.length === 0) return null; return stack[stack.length — 1]; } let stack = [12, 13]; console.log(peek(stack)); // 13
Заключение
Стек — это мощная структура данных, которую можно использовать по-разному. Поняв, как они работают и как реализовать их в JavaScript, вы сможете использовать их в своих собственных программах! Удачи на собеседованиях по кодированию!
Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Посетите наш Community Discord и присоединитесь к нашему Коллективу талантов.