Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад

Что такое стек (stack) в C?

Этот вопрос проверяет понимание принципа работы структуры данных "стек", включая основные операции.

Короткий ответ

Стек — это структура данных, работающая по принципу LIFO (Last In, First Out), что означает, что последний добавленный элемент удаляется первым. Доступ к элементам возможен только с вершины стека. Основные операции:

push() — добавление элемента в стек.

pop() — удаление элемента из стека.

Длинный ответ

Как работает стек:

- В стеке элементы добавляются и удаляются только с одной стороны — вершины (top).

- Принцип работы напоминает стопку тарелок: последняя добавленная тарелка убирается первой.

 

Основные операции:

push(value): добавляет элемент в стек.

pop(): удаляет верхний элемент.

peek(): возвращает верхний элемент без удаления.

isEmpty(): проверяет, пуст ли стек.

 

Пример реализации стека с использованием массива

#include <stdio.h>
#define MAX 5  // Размер стека

int stack[MAX], top = -1;

void push(int value) {
    if (top == MAX - 1) {
        printf("Стек переполнен!\n");
        return;
    }
    stack[++top] = value;
}

int pop() {
    if (top == -1) {
        printf("Стек пуст!\n");
        return -1;
    }
    return stack[top--];
}

int main() {
    push(10);
    push(20);
    printf("Удалён элемент: %d\n", pop());
    return 0;
}

 

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

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • C

Ключевые слова

#stack

#lifo

#push

#pop

Подпишись на C/C++ Developer в телеграм