/
Karen1C
/
sysdad
Обзор
Документация
Войти
/
Karen1C
/
sysdad
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
stack.c
76 строк
1 KB
Karen1C
upload files
30 май 2025, 09:38
30 май 2025, 09:38
8164eba
Код
Авторство
О чём код?
#include <stdio.h> #include <stdlib.h> // Структура узла стека typedef struct StackNode { char data; struct StackNode* next; } StackNode; // Указатель на вершину стека StackNode* top = NULL; // Функция PUSH: добавляет символ в стек void push(char value) { StackNode* newNode = (StackNode*)malloc(sizeof(StackNode)); if (newNode == NULL) { printf("Ошибка: не удалось выделить память\n"); return; } newNode->data = value; newNode->next = top; top = newNode; printf("PUSH: %c\n", value); } // Функция POP: извлекает символ из вершины стека char pop() { if (top == NULL) { printf("Стек пуст (underflow)\n"); return '\0'; } StackNode* temp = top; char poppedValue = temp->data; top = top->next; free(temp); printf("POP: %c\n", poppedValue); return poppedValue; } // Функция для вывода содержимого стека void printStack() { StackNode* current = top; printf("Стек: "); while (current != NULL) { printf("%c ", current->data); current = current->next; } printf("\n"); } // Пример использования int main() { push('A'); push('B'); push('C'); printStack(); pop(); pop(); printStack(); push('D'); printStack(); pop(); pop(); pop(); return 0; }