I need C++ code for postfix to infix converter. It must compile according to the given main.

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 3PE
icon
Related questions
Question

I need C++ code for postfix to infix converter.
It must compile according to the given main. 

i. Please implement the following ADT of Stack using a singly linked list (code for singly linked
list is provided)
#ifndef STACK H
#define STACK H
template<class KeyType>
class Stack
{ //
public:
// constructor, creates an empty stack
Stack();
// returns true if Stack is full, otherwise return false
bool IsFull();
//If number of elements in the Stack is zero return true, otherwise
return false
bool IsEmpty();
// If Stack is not full, insert item into the Stack. Must be an 0 (1)
operation
void Push (const KeyType item);
// If Stack is empty return 0 or NULL;
// else return appropriate item from the Stack. Must be an 0 (1)
operation
KeyType Pop ();
private:
}
SList <KeyType>* list;
Node<KeyType>* top;
};
#endif
ii. Use the Stack you have implemented above to convert a postfix expression to infix. We saw its algorithm in the class.
A sample client is given below
#include<iostream>
#include "Stack.cpp"
using namespace std;
void PostFixToInfixConverter (char *postfix, char* infix)
{
Stack<char*> *s= new Stack<char*> ();
//your code below
}
int main()
{
char* infix;
char postfix [8] = { 'A', 'B', 'C', '*', '+', 'D', '-', '\0'};
int size=strlen (postfix);
cout<<size<<endl;
infix=new char [size+1];
cout<<postfix<<endl;
PostFixToInfixConverter (postfix, infix);
cout<<infix<<endl;
return 0;
Transcribed Image Text:i. Please implement the following ADT of Stack using a singly linked list (code for singly linked list is provided) #ifndef STACK H #define STACK H template<class KeyType> class Stack { // public: // constructor, creates an empty stack Stack(); // returns true if Stack is full, otherwise return false bool IsFull(); //If number of elements in the Stack is zero return true, otherwise return false bool IsEmpty(); // If Stack is not full, insert item into the Stack. Must be an 0 (1) operation void Push (const KeyType item); // If Stack is empty return 0 or NULL; // else return appropriate item from the Stack. Must be an 0 (1) operation KeyType Pop (); private: } SList <KeyType>* list; Node<KeyType>* top; }; #endif ii. Use the Stack you have implemented above to convert a postfix expression to infix. We saw its algorithm in the class. A sample client is given below #include<iostream> #include "Stack.cpp" using namespace std; void PostFixToInfixConverter (char *postfix, char* infix) { Stack<char*> *s= new Stack<char*> (); //your code below } int main() { char* infix; char postfix [8] = { 'A', 'B', 'C', '*', '+', 'D', '-', '\0'}; int size=strlen (postfix); cout<<size<<endl; infix=new char [size+1]; cout<<postfix<<endl; PostFixToInfixConverter (postfix, infix); cout<<infix<<endl; return 0;
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 2 images

Blurred answer
Knowledge Booster
Fundamentals of Computer System
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