Это не похоже на стек, это похоже на связанный список. Конечно, вы можете реализовать стековую семантику, используя связанный список, но обычно это не то, что подразумевается под «стеком».
Чтобы ввести новый номер, вам необходимо:
- Выделите новый
StackNode
.
- Инициализируйте его новым номером.
- Ссылка на предыдущую.
Вы можете заключить это в функцию:
void stack_push(StackNode *root, int value)
{
/* Code omitted */
}
Тогда вам нужно просто предоставить правильный стек, чтобы контролировать, на какой из множества ваших стеков выложить новый номер:
stack_push(&Stacks[2], 4711);