Реализация стека на массиве

d180d0b5d0b0d0bbd0b8d0b7d0b0d186d0b8d18f d181d182d0b5d0bad0b0 d0bdd0b0 d0bcd0b0d181d181d0b8d0b2d0b5 статьи

При написании различных программ программисты пользуются различными структурами данных, некоторые из них — встроенные (те, которые предлагает тот или иной язык программирования), другие же — производные, те, которые создает сам программист. Сегодня пойдет речь о производных структурах, а именно о стеке.

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

Стек является структурой типа LIFO (от англ. Last In, Firts Out, "Последним пришел — первым ушел"). Чтобы лучше понять, что такое стек, давайте представим, что у нас есть пять тарелок с номерами 1, 2, 3, 4, 5. Теперь мы складываем их в стопку в порядке возрастания номеров. То есть, самой нижней тарелкой будет являться тарелка с номером 1, а самой верхней — с номером 5. Получается, что тарелка № 5 вошла в стопку последней, однако когда нам понадобится несколько тарелок из этой стопки, то именно пятую мы возьмем первой.

Стек можно реализовать по-разному, на массиве, списке, и т.д. В этой статье рассмотрим стек на массиве. Реализация производится на языке C.

Первым делом напишем наш заголовочный файл, который назовем StackArray.h

Здесь мы сначала задаем максимальный размер стека, затем константы, описывающие исключительные ситуации, и переменную ошибок. Для чего это? Спросите вы. Все просто! В процессе работы со стеком могут случиться различные ситуации: переполнение массива, либо обращение к несуществующему элементу стека. Именно переменная ошибок, равная okStackArray, и будет являться признаком того, что ошибок не было.

Теперь напишем реализации функций работы со стеком.

Ну вот и все. Стек готов. Можно смело им пользоваться Реализация стека на массиве (C, Массив, Стек)Вот пример программы.

Оцените статью
Секреты программирования
Добавить комментарий