Стэк это массив или нет?
Во вступительных в МФТИ в задаче запретили пользоваться массивами, является ли стэк массивом? С++
Стек - отдельный самостоятельный тип данных в теории программирования, никак не связанный с массивами. Внутри конкретной реализации стека в конкретной библиотеке могут использоваться массивы. А могут не использоваться. Но это не сам стек, а особенности данной реализации стека.
Вообще-то в C++ есть встроенный тип данных стек: https://learn.microsoft.com/ru-ru/cpp/standard-library/stack-class
Собственная реализация стека может быть сделана на базе динамического массива: https://learn.microsoft.com/ru-ru/cpp/standard-library/vector-class , на базе двусторонней очереди: https://learn.microsoft.com/ru-ru/cpp/standard-library/deque-class или на базе линейного списка: https://learn.microsoft.com/ru-ru/cpp/standard-library/list-class
Может быть реализован через массив, но не обязательно. Можно реализовать через список, например
Нет. Стэк это отдельный элемент
Стек — это абстракция, которая определяет конкретное поведение LIFO и набор операций (pop и тд). Его [функционал] можно реализовать на основе массивов и списков. Но сам стек не является массивом. Хотя грань довольно условная.
У стека в отличие от массива нет прямого доступа к любым элементам. Есть доступ только к первому элементу.