Stack
и Queue
являются структурами данных.Каждый из них обладает определенными свойствами.Например, Stack
- это LIFO (последний пришел первым вышел), тогда как Queue
- это FIFO (первый вышел первым).
В случае реализации - вам решать, как вы их реализуете.Например, если вы используете C ++, вы можете использовать массив или вектор или даже связанный список для их реализации.Аналогичный случай для питона.Вы можете настроить список на ожидаемое поведение (например, стек или очередь).В более упрощенном определении - Stacks are basically array or list which has the property of LIFO
и Queues are basically array or list which has the property of FIFO
.
Теперь, зачем вам Stack
или Queue
?- хорошо, если вам нужна структура данных, которая имеет свойство LIFO (или FIFO).Чем ты занимаешься?Вы можете настроить список в соответствии с вашими потребностями.Но если в вашей программе требуется несколько стеков (или очередей), что вы тогда делаете?Ну, вы можете реализовать стек (который используется под списком), который даст вам общий шаблон, который вы можете использовать повторно несколько раз.