Вступление
Итак, несколько дней назад я провел опрос своих историй в Instagram, и по результатам этого опроса я решил написать в блоге сообщение на тему СТЕКИ при использовании JavaScript.
Какая структура данных стека?
Стек - это структура данных, которая следует принципу ПОСЛЕДНИЙ НАПЕРВЫМ (LIFO). Есть несколько реальных примеров, например тарелки, книги, сложенные друг на друга и т. д.
Удаление и добавление новых предметов в стопку происходит на одном конце. Это связано с тем, что стеки следуют принципу LIFO, это означает, что новые добавленные элементы удаляются первыми.
Давайте создадим стопку
Хватит объяснений, давайте напишем коды🤓🤓🤓! Мы начинаем с основ и объявляем класс, используя массив в свойстве конструктора нашего класса.
//stack class class Stack { constructor() { this.items = []; } //methods to be implemented go here Push(item) Pop() Peek() isEmpty() Clear() Size() Print() }
Давайте реализуем каждый метод для нашего класса стека.
Push: элементы или элемент добавляются в верхнюю часть стопки.
Push(item) { //pushing an item into the stack this.items.push(item) }
Pop: удаляет верхний элемент из стека и возвращает удаленный элемент.
Pop() { //removes an item from the stack return this.items.pop() }
Peek: возвращает верхний элемент из стека, но не изменяет его (не удаляет).
Peek() { //returning the top item without modifying it return this.items[this.items.length - 1] }
isEmpty: возвращает false, если стек содержит элементы, но возвращает true, если он не содержит элементов.
isEmpty() { //return true if the stack is empty return this.items.length == 0; }
Очистить: все элементы будут удалены из стопки.
Clear() { //output all the content of the stacks return this.items = []; }
Размер: возвращает все количество элементов, содержащихся в стопке. (это похоже на свойство length структуры данных массива)
Size() { //returns the number of items in the stack return this.items.length; }
Печать: выводит содержимое стопки.
Print() { //output all the content of the stacks console.log(this.items.toString()) }
YOOHOO… Чемп! Вы зашли так далеко! Ты просто потрясающий
Давайте воспользуемся классом стека
Первое, что нам нужно сделать, это создать экземпляр класса стека, который мы создали.
//instantiating the stack let stack = new Stack()
Затем мы можем добавить несколько элементов (мы нажимаем 1 и 2, мы можем отправить любой элемент в стек)
//pushing a new item to stack stack.Push(1) stack.Push(2)
Затем мы можем продолжить, чтобы проверить, были ли элементы добавлены в стек. Это должно вернуть false.
//returns false console.log(stack.isEmpty());
Давайте продолжим и вызовем метод peek, мы получим 2, потому что это последний элемент, добавленный в стек.
//returns 2 Console.log(stack.Peek());
Давайте продолжим и добавим один элемент в стопку.
//adds 3 to the stack stack.Push(3);
Давайте проверим размер, чтобы убедиться, сколько элементов в нашей стопке.
//out puts 3 console.log(stack.Size());
Давайте распечатаем все элементы нашей стопки
//returns [1,2,3] Stack.Print()
Давайте удалим элемент из стопки
//removes each item from the stack Stack.Pop() Stack.Pop() Stack.Pop()
Давайте еще раз проверим, пусто ли оно
//returns true Stack.isEmpty();
Вот оно что !!!
Всего за несколько простых шагов мы реализовали стеки с помощью JavaScript.
Как и все остальное, на самом деле нужно практиковать эти шаги, чтобы вы могли их глубоко понять. В более поздней статье я буду писать о применении стеков, а также о решении с их помощью некоторых общих задач информатики.
Если вам понравилась эта статья, почему бы не подписаться на меня в Twitter, также сделать снимок экрана и отправить DM в Instagram, я благодарю вас вместе с другими из 36 тысяч участников нашего сообщества.
Ваше здоровье! Удачного взлома.