STARTING OUT WITH C++ MPL
STARTING OUT WITH C++ MPL
9th Edition
ISBN: 9780136673989
Author: GADDIS
Publisher: PEARSON
Question
Book Icon
Chapter 18, Problem 2PC
Program Plan Intro

Dynamic Stack Template

Program Plan:

Main.cpp:

  • Include required header files.
  • Inside the “main ()” function,
    • Create an object named “dstack” for stack.
    • Declare a variable named “popElem”.
    • Push 3 elements inside the stack using the function “push ()”.
    • Pop 3 elements from the stack using the function “pop ()”.

DynStack.h:

  • Include required header files.
  • Create a template.
  • Declare a class named “DynStack”. Inside the class
    • Inside the “private” access specifier,
      • Give structure declaration for the stack
        • Create an object for the template
        • Create a stack pointer name “next”.
      • Create a stack pointer name “top”
    • Inside the “public” access specifier,
      • Give a declaration for a constructor.
        • Assign null to the top node.
      • Give function declaration for “push ()”, “pop ()”,and “isEmpty ()”.
  • Give the class template.
  • Give function definition for “push ()”.
    • Assign null to the new node.
    • Dynamically allocate memory for new node
    • Assign “num” to the value of new node.
    • Check if the stack is empty using the function “isEmpty ()”
      • If the condition is true then assign new node as the top and make the next node as null.
      • If the condition is not true then, assign top node to the next of new node and assign new node as the top.
  • Give the class template.
  • Give function definition for “pop ()”.
    • Assign null to the temp node.
    • Check if the stack is empty using the function “is_Empty ()”
      • If the condition is true then print “The stack is empty”.
      • If the condition is not true then,
        • Assign top value to the variable “num”.
        • Link top of next node to temp node.
        • Delete the top most node and make temp as the top node.
  • Give function definition for “isEmpty ()”.
    • Assign Boolean value to the variable
    • Check if the top node is null
      • Assign true to “status”.
    • Return the status

Blurred answer
Students have asked these similar questions
Stack Implementation in C++make code for an application that uses the StackX class to create a stack.includes a brief main() code to test this class.
C++ code  Stack Implementation using Variable-sized Dynamic Arrays2. Stack Implementation using Linked Lists3. The applications of Stacks1. Implement a template-based stack using a variable-sized dynamic array. When the array getsfull, double its size before insertion of new elements. When array contains data lesser than33% of its size, reduce its size to half. The required member methods are:T* arr: array containing data elements of stackint capacity: stores the capacity of stack.int getCout(): returns total elements stored in the stack.bool isEmpty(): returns true if the stack is empty else false.bool isFull(): returns true if the stack is full.bool top(): returns, but does not delete, the topmost element from the stack via theparameter passed by reference, and returns true via the return statement. If there is noelement, it returns false via the return statement.bool pop(): deletes the top most element from the stack and returns true via the returnstatement. If there is no element,…
In c++ Also add comments explaining each line
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning