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.

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter18: Stacks And Queues
Section: Chapter Questions
Problem 21SA
icon
Related questions
Question

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 programming

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Stack
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning