Write a structure to represent a Node in a singly linked-list-based stack similar to the one discussed in class. Your stack will store integer values. Your program will read a series of integers (until the user enters a non-integer) and store them in a stack, then print them in the reverse order; You will write three functions to assist with this task: push, printStack, and deleteStack. The function push takes a number and a Node and adds the number to the head (top) of the stack by creating a new Node (using malloc) and returning a pointer to this Node. This new node is now the top of your stack. The function printStack will need to iterate through your stack and print each one (5 spaces per number, left-aligned), with a new line following the nal number. You will need a pointer that you update to the next Node each time you print one. Since you add new items to the top of the stack, the newest elements will be printed rst, giving the reverse-order behavior requested. The function deleteStack handles cleaning up the memory occupied by your stack. It will iterate through your list and delete each Node using free. Note that you must get a pointer to the next Node before you delete the previous one or else you will be trying to access memory that you have already deallocated.
Write a structure to represent a Node in a singly linked-list-based stack similar to the one
discussed in class. Your stack will store integer values. Your program will read a series of integers
(until the user enters a non-integer) and store them in a stack, then print them in the reverse order;
You will write three functions to assist with this task: push, printStack, and deleteStack.
The function push takes a number and a Node and adds the number to the head (top) of the
stack by creating a new Node (using malloc) and returning a pointer to this Node. This new node
is now the top of your stack.
The function printStack will need to iterate through your stack and print each one (5 spaces
per number, left-aligned), with a new line following the nal number. You will need a pointer that
you update to the next Node each time you print one. Since you add new items to the top of the
stack, the newest elements will be printed rst, giving the reverse-order behavior requested.
The function deleteStack handles cleaning up the memory occupied by your stack. It will
iterate through your list and delete each Node using free. Note that you must get a pointer to the
next Node before you delete the previous one or else you will be trying to access memory that you
have already deallocated.
Note that the number of integers you may be required to read is unbounded. This linked-list
strategy allows you to store any number of integers without knowing ahead of time how many there
will be
In C
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images