Javascript - Стек і черги
У програмуванні структур даних, таких як стеки і черги, можна замовляти елементи, що очікують обробки.
Ми побачимо, що реалізуємо ці структури даних під Javascript, використовуючи вже існуючі методи.
Масив
Масиви JavaScript. Найбільш поширеним прикладом є:
var myArray = new Array (1, 2, 3, 4, 5);
Уявіть, що стек Javascript і черги не що інше, як таблиці, для яких можна використовувати чотири методи:
- pop ()
- push ()
- shift ()
- unshift ().
Стек: структура FILO
FILO - це абревіатура "First In Last Out". Тут ми будемо використовувати наступні методи:
- push (): додає елемент до кінця масиву, збільшуючи таким чином його розмір на одиницю.
- pop (): який видаляє останній елемент масиву, тим самим зменшуючи розмір на 1.
Приклад стека:
myArray.push (6); // додаємо 6-й елемент myArray.pop (); // видаляємо його myArray.pop (); // видаляємо 6-й елемент myArray.push (myArray.pop ()); // ніякого ефекту! / * Отриманий масив є [1 | 2 | 3 | 4] * /
Черга: структура FIFO
FIFO - це абревіатура "First In First Out". Тут ми будемо використовувати наступні методи:
- push () додає елемент до кінця масиву.
- shift () видаляє перший елемент масиву, зменшуючи тим самим розмір на один, зміщуючи елементи вліво.
myArray.push (6); // додаємо 6-й елемент myArray.shift (); // Видаляємо 1 myArray.shift (); // Видаляємо 2 myArray.push (myArray.shift ()); // Покласти перший елемент на останнє місце! / * Отриманий масив є [4 | 5 | 6 | 3] * /