Сьогодні розгляну таку просту, але потрібну структуру, як Стек (Stack). Ця структура даних має кілька реалізацій (найпростіша - реалізація на базі одновимірного масиву або однозв'язного списку). Зупинюся на першому варіанті.
Теорія. Стек в java
Для початку ознайомимося з невеликою теоретичною базою.
приклад стека
Тут 5 - елемент на вершині стека (назвемо останній елемент - top) - малюнок 1.
Малюнок 1 - Приклад стека, який буде реалізований на javaТаким чином, щоб отримати з стека елемент «3», для початку нам потрібно видалити «5» і «4». На цьому невелика теоретична частина закінчується. Додам, що елемент TOP, іноді ще називають «головою» (head).
Реалізація стека в java
Отже, я пропоную реалізувати наступні методи для нашого стека:
1) addElement - метод, який забезпечить додавання елемента (в top позиції)
2) deleteElement - метод, яких забезпечить видалення елемента (з top позиції)
3) readTop - метод, який поверне значення елемента, який знаходиться в позиції top
4) isEmpty - метод, який буде перевіряти стек на порожнечу
5) isFull - метод, який буде перевіряти, чи не переповнений наш масив, в якому ми зберігаємо стек
Для початку створимо в нашому проекті, клас Stack. оголосимо потрібні для роботи поля, а далі инициализируем їх в конструкторі.