CMPS 223 Data Structures and Algorithms Lab 4: Stack Implementations and Application Of Stack I. Purposes: 1. Statck implementation with Singly-Linked Structures 2. Understand the Infix to Postfix conversion algorithm 3. Understanding postfix arithmetic evaluation algrithm II. What you are going to do: Work in one of four teams during the lab time. 1. Implmentation template class for stack ADT using singly-linked structure 2. Implement a Expression class (not template class) with at least the following members: const int MAX_LEN = 501; class Expression { private: char infExpr[MAX_LEN]; // holding infix arithmetic expr. char ** postExpr; // a pointer to pointer arrays // elements of which points at // tokens of expr in postfix notation. int value; // result of infix expr. evaluated from postExpr, // postExpr is converted from infix expr. bool done; // already converted and evaluated. ... public: void setInfix( const * in ); const char * toPost(); // convert if necessary, and output // postfix notation of correspoinding // infix expr. }; 3. Design and implement a driver program to test application of infix-postfix-evaluation.