STARTING OUT C++,+MATLAB+MYPROGRAMLAB>C
19th Edition
ISBN: 9781323948637
Author: GADDIS
Publisher: PEARSON C
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
Chapter 19, 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”
- Give structure declaration for the stack
- 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 a declaration for a constructor.
- Inside the “private” access specifier,
- 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
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
Apply the Stack Applications algorithms in c++. You have to implement the stack using the static array or the linked list.
You have to create a project for each algorithm.
Add a screenshot of the output for each project.
static binding,a) Allocate stack memoryb) allocate static memoryWhat is the advantage of a) compared to b)?
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.
Chapter 19 Solutions
STARTING OUT C++,+MATLAB+MYPROGRAMLAB>C
Ch. 19.1 - Describe what LIFO means.Ch. 19.1 - What is the difference between static and dynamic...Ch. 19.1 - What are the two primary stack operations?...Ch. 19.1 - What STL types does the STL stack container adapt?Ch. 19 - Prob. 1RQECh. 19 - Prob. 2RQECh. 19 - What is the difference between a static stack and...Ch. 19 - Prob. 4RQECh. 19 - Prob. 5RQECh. 19 - The STL stack is considered a container adapter....
Ch. 19 - What types may the STL stack be based on? By...Ch. 19 - Prob. 8RQECh. 19 - Prob. 9RQECh. 19 - Prob. 10RQECh. 19 - Prob. 11RQECh. 19 - Prob. 12RQECh. 19 - Prob. 13RQECh. 19 - Prob. 14RQECh. 19 - Prob. 15RQECh. 19 - Prob. 16RQECh. 19 - The STL stack container is an adapter for the...Ch. 19 - Prob. 18RQECh. 19 - Prob. 19RQECh. 19 - Prob. 20RQECh. 19 - Prob. 21RQECh. 19 - Prob. 22RQECh. 19 - Prob. 23RQECh. 19 - Prob. 24RQECh. 19 - Prob. 25RQECh. 19 - Prob. 26RQECh. 19 - Write two different code segments that may be used...Ch. 19 - Prob. 28RQECh. 19 - Prob. 29RQECh. 19 - Prob. 30RQECh. 19 - Prob. 31RQECh. 19 - Prob. 32RQECh. 19 - Prob. 1PCCh. 19 - Prob. 2PCCh. 19 - Prob. 3PCCh. 19 - Prob. 4PCCh. 19 - Prob. 5PCCh. 19 - Dynamic String Stack Design a class that stores...Ch. 19 - Prob. 7PCCh. 19 - Prob. 8PCCh. 19 - Prob. 9PCCh. 19 - Prob. 10PCCh. 19 - Prob. 11PCCh. 19 - Inventory Bin Stack Design an inventory class that...Ch. 19 - Prob. 13PCCh. 19 - Prob. 14PCCh. 19 - Prob. 15PC
Knowledge Booster
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
- Code in C, Implement a C program using the stack and queue operations Code a stack and queue test driver. A test driver is a program created to test functions that are to be placed in a library. Its primary purpose is to completely test functions; therefore, it has no application use. The functions to be tested are push stack, pop stack, enqueue, and dequeue. You may include other stack and queue functions as required. All data should be integers. You need two stacks and two queues in the program, as described below. a. Input stack: used to store all user inputb. Input queue: used to store all user inputc. Output stack: used to store data deleted from input queued. Output queue: used to store data deleted from input stack Use a menu-driven user interface that prompts the user to select either insert or delete. If an insert is requested, the system should prompt the user for the integer to be inserted. The data are then inserted into the input stack and input queue. If a delete is…arrow_forwardMin Stack (interesting stack implementation): Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. Implement the MinStack class: MinStack() initializes the stack object. void push(int val) pushes the element val onto the stack. void pop() removes the element on the top of the stack. int top() gets the top element of the stack. int getMin() retrieves the minimum element in the stack. You must implement a solution with O(1) time complexity for each function. Code in Java. A brief explanation of how and why your code works and how it relates to the concepts learned (for example, it uses bitwise operation, stack, or takes into account a word size).arrow_forwardSubject:DATA STRUCTURE Q:Give reason of choosing a list over an array when implementing a stack data structurearrow_forward
- c++ code We know that stack is used to manage function calls. Whenever a function is called, the local variables,and return address is pushed on to the stack. Once the function completes its execution the returnaddress and local variables are popped from the stack. Your task is to provide an array-based stackimplementation to manage the function calls.Data Members and Methods:string * arr (This array should be used to store the return address against each function call)int size (size of array).int count (count of elements pushed on stack).parameterized constructor, it should receive the size and creates an array of that fixed size.isFull function, it should return 1 if the stack is full otherwise 0.push function, receive and inserts the element into the stack. If the stack is full call the reSize function.isEmpty function, it should return 1 if the stack is empty otherwise 0.pop function, removes the element from stack. if the stack is empty than return "-1".reSize…arrow_forward1. Assume the existence of a class Stack whose implementation is unknown (array versus nodes), withoperationspushandpop. Write a Stack methodvoid reverseStack()that reverses the order of theelements contained in the Stack. You can assume the existence of any other ADT data structures andtheir operations.arrow_forwardWrite C++ code to implement Stack using object orientation. Write... Write C++ code to implement Stack using object orientation. Write C++ code to convert the Stack implemented in [1] to a Dynamic Stack with necessary modifications and extensions.arrow_forward
- Working with Stacks 1. Create a method on the Stack class that determines whether a given value occurs consecutively in the stack. bool Stack::isConsecutive( const T & data ) const; Example: isConsecutive(…) function Result Stack isConsecutive (5) true top->(1) (1) (5) (3) (5) (5) (2) isConsecutive (3) false top->(1) (1) (5) (3) (5) (5) (5) (2) 2. Create a method on the Stack class that reverses the values on the stack. void Stack::reverse(); Example: reverse() function Stack original Result: Stack reversed reverse () top->(1) (1) (5) (3) (5) (5) (2) top->(2) (5) (5) (3) (5) (1) (1) reverse () top->(1) (1) (5) (3) (5) (5) (5) (2) top->(2) (5) (5) (5) (3) (5) (1) (1)arrow_forwardC++ 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,…arrow_forwardFundamental Data Structures: T1: Stack Implementation In this task, you will implement a stack data structure in Python.Create a Python class named Stack that will have the following methods:__init__(self): Initialize an empty stack.push(self, item): Push an item onto the stack.pop(self): Pop and return the top item from the stack. If the stack is empty, return an appropriate message.peek(self): Return the top item from the stack without removing it. If the stack is empty, return an appropriate message.is_empty(self): Check if the stack is empty and return True or False.size(self): Return the number of elements in the stack.T 2: Using the Stack In this task, you will use the stack you implemented to solve a common problem: checking if a string containing parentheses, brackets, and curly braces is balanced.Write a Python function is_balanced(expression) that takes a string containing parentheses, brackets, and curly braces and returns True if the symbols are balanced and False…arrow_forward
- C++ Programming Program Preface (Infix to Postfix) Write a program that converts an infix expression into an equivalent postfix expression. The rules to convert an infix expression into an equivalent postfix expression are as follows: Suppose infx represents the infix expression and pfx represents the postfix expression. The rules to convert infx into pfx are as follows: a. Initialize pfx to an empty expression and also initialize the stack. b. Get the next symbol, sym, from infx. b.1. If sym is an operand, append sym to pfx. b.2. If sym is (, push sym into the stack. b.3. If sym is ), pop and append all of the symbols from the stack until the most recent left parentheses. Pop and discard the left parentheses. b.4. If sym is an operator: b.4.1. Pop and append all of the operators from the stack to pfx that are above the most recent left parentheses and have precedence greater than or equal to sym. b.4.2. Push sym onto the stack. c. After…arrow_forwardStack is a linear data structure which followsarrow_forwardC++ ProgrammingActivity: Linked List Stack and BracketsExplain the flow of the code not necessarily every line, as long as you explain what the important parts of the code do. The code is already correct, just explain the flow #include "stack.h" #include "linkedlist.h" // SLLStack means Singly Linked List (SLL) Stack class SLLStack : public Stack { LinkedList* list; public: SLLStack() { list = new LinkedList(); } void push(char e) { list->add(e); return; } char pop() { char elem; elem = list->removeTail(); return elem; } char top() { char elem; elem = list->get(size()); return elem; } int size() { return list->size(); } bool isEmpty() { return list->isEmpty(); } };arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning