В этой статье мы увидим, как структура данных стека может быть реализована в Javascript.
Что такое стек?
Стек - это структура данных для хранения данных в порядке вставки, при котором элемент, вставленный последним, в стек будет удален первым.
Вкратце L ast I n F первый O ut (LIFO).
Как мы собираемся это реализовать?
Ниже приведены методы и переменные, которые мы собираемся использовать в Stack DS.
инициализировать - инициализировать хранилище и размер стека.
push - отправить данные в стек
pop - удалить из стека последний нажатый элемент.
getStackSize - получить текущий размер стека.
инициализировать
class Stack { /* Initialization */ constructor() { this.storage = {}; this.stackLength = 0; } }
push
class Stack { /* Initialization */ constructor() { this.storage = {}; this.stackLength = 0; } /* Add item to the stack */ push(item) { this.storage[this.stackLength] = item; this.stackLength++; } }
поп
class Stack { /* Initialization */ constructor() { this.storage = {}; this.stackLength = 0; } /* Remove Item from the stack with below conditions 1. Get the last index 2. check the stack is non-empty 3. remove the item from the storage */ pop() { let endIndex = this.stackLength - 1; if (endIndex >= 0) { delete this.storage[endIndex] this.stackLength--; } else { throw "Stack is Empty, cannot pop!" } } }
getStackSize
class Stack { /* Initialization */ constructor() { this.storage = {}; this.stackLength = 0; } /* To get the stack size */ getStackSize() { return this.stackLength; } }
Полный код
Мы также можем добавить дополнительные функции, такие как размер стека по умолчанию, получение последнего элемента и т. Д.
Эта статья написана с особой благодарностью сообществу разработчиков, откуда я узнал об этом.