#include "stack.h" #include StackT::StackT(){ size = 10; data = new ItemT[size]; top = 0; return; } // supply the three missing routines. void StackT::Push(ItemT i) { if (top < size) { data[top] = i; top++; } else { // supply the missing code. } return; } ItemT StackT::Pop(void){ ItemT rv; if (top > 0) { top--; rv = data[top]; // add a code to reduce the stack size if top < 1/3 size } return rv; } ItemT StackT::Top(void) const{ ItemT rv; if (top > 0) { rv = data[top-1]; } return rv; } int StackT::Size(void) const{ return top; } bool StackT::IsEmpty(void) const{ return top==0; }