Куча

Вот одна из самых важных структур данных.
Стек представляет собой линейную структуру данных, что означает последовательное хранение данных. В линейной структуре данных элементы связаны с двумя элементами, один перед ними и один позади.

Стек следует принципу LIFO, который также называется FILO. Что же это за принципы?

LIFO = Last In and First Out = Это означает, что элемент, входящий в структуру данных последним, покидает структуру данных первым.
FILO = First In and Last Out = Это означает, что элемент, входящий в структуру данных первым, покидает структуру данных последним. .

Чтобы понять, как работает стек, давайте сначала представим сценарий из реальной жизни. Подумайте о стопке книг, сложенных в ящике, в этом случае первая книга, которую вы ввели, будет лежать на дне ящика, а последняя книга, которую вы внесли, останется наверху.

Что вы будете делать, если захотите удалить последнюю вставленную книгу?
Просто удалите ее правильно, потому что она хранится сверху. Это означает, что LIFO Last In and First Out = книга, которую вы вставили последней, может быть легко удалена, поскольку она находится на первой позиции.

Итак, что вы будете делать, если захотите убрать первую вставленную книгу?
Первая вставленная вами книга находится в самом низу стопки в ящике. Чтобы сначала удалить эту книгу, вы должны удалить все книги над этой книгой, пока не дойдете до первой книги, которую вы вставили. Это означает FILO First In and Last Out. Для удаления элемента, который вы ввели первым, вы должны удалить все элементы, которые вы ввели после этого, и в конце вы можете удалить первый элемент в стеке.

ЭТО СТЕК.

Теперь в стеке есть 3 функции/операции, которые вы можете выполнять в стеке.

  1. PUSH = Операция push добавляет новый элемент в стек на вершину стека.
    Это можно сделать только в том случае, если стек не заполнен.
  2. POP = Операция извлечения удаляет первый элемент из стека.
    Это можно сделать только в том случае, если стек не пуст.
  3. PEEK = операция просмотра не удаляет и не добавляет элемент.
    Используется для просмотра вершины стека.

РЕАЛИЗАЦИЯ СТЕКА

  • Стек может быть реализован в JAVA тремя способами.

1. Использование массива (ссылка)
Это один из самых распространенных способов объявления стека, но у него есть свои минусы. Как вы знаете, массив неизменяем. Размер массива всегда фиксирован, поэтому стек, состоящий из массива, также имеет фиксированный размер.

2. Использование списка массивов (скоро…)
В отличие от массива, список массивов имеет переменный размер, и, следовательно, стек также имеет переменный размер.

3. Связанный список (подробнее об этом в следующем блоге…)
Подобно списку-массиву, связанный список также имеет переменный размер, и поэтому стек имеет переменный размер.
Но способ объявить Список массивов и связанный список совершенно разные.

Код

___________________________________________________________________

Спасибо, что потратили свое драгоценное время на чтение моего блога

Подписывайтесь на такие информативные блоги 😁

Вот мой репозиторий GitHub:

https://github.com/Kartikkk-24/The_DSA_Series

Мой твиттер:

https://twitter.com/karthikkk24

Мой LinkedIn:

https://www.linkedin.com/in/kks24/