C/C++

Помогите понять фрагмент кода на C++

struct stack {
int inf;
stack* pre;
};
Грубо говоря создается структура с именем stack;
int inf создается переменная для целых чисел без запятых.
stack* pre; создается походу указатель на stack и зовется pre.
с указателем возможно я ошибаюсь.
Валерий Милентьев
Валерий Милентьев
1 075
Лучший ответ
У обычных линейных массивов есть недостаток - удаление или добавление элементов занимает много времени из за необходимости создавать новый массив другого размера и копирования в него всех элементов кроме удаленного или с добавляемым. Решение - сделать такой массив, каждая ячейка которого "знает", где расположен следующий элемент. Тогда для удаления элемента достаточно в предыдущем изменить указатель так, чтобы он указывал на следующий элемент после удаляемого.
На фрагменте кода типичная ячейка такого массива (однонаправленный список), в которой хранится полезная информация - "inf" и знание где расположена следующая ячейка - "pre" (в данном примере - предыдущая, но смысла это не меняет :)
Хотя это может быть и просто ни как не связанные две переменных - мало что у программиста на уме.
AV
Abdullojon Vositov
51 416
Это определение структуры данных "стек" на языке C++.

Структура состоит из двух полей:

1. int inf - поле, хранящее информацию о значении элемента стека.
2. stack* pre - указатель на предыдущий элемент стека.

Таким образом, каждый элемент стека содержит информацию о своем значении и указатель на предыдущий элемент.

Структура "стек" используется для хранения данных в порядке "последним пришел - первым ушел" (LIFO - last in, first out). Это означает, что последний добавленный элемент будет первым удаленным из стека.

Для работы со стеком используются операции push (добавление элемента в стек), pop (удаление элемента из стека) и top (получение значения верхнего элемента стека без его удаления).
Andrei Spatari
Andrei Spatari
14 368
Что не понятно?
Альвард(Алик) Бусыгин Подскажите просто что это вообще такое
Василий Котусов Это определение структуры по имени stack.
В структуре содержится целое число типа int и указатель на такую же структуру.
Вероятно это часть кода по реализации стека как структуры данных.