1 [3;38;2;102;217;239mnamespace[0m[38;2;248;248;242m [0m[38;2;166;226;46mStackImplementation[0m 2 [38;2;248;248;242m{[0m 3 [38;2;248;248;242m [0m[38;2;249;38;114minternal[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mclass[0m[38;2;248;248;242m [0m[4;38;2;102;217;239mStack[0m[38;2;248;248;242m<[0m[3;38;2;166;226;46mT[0m[38;2;248;248;242m>[0m 4 [38;2;248;248;242m [0m[38;2;248;248;242m{[0m 5 [38;2;248;248;242m [0m[38;2;249;38;114mprivate[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m [0m[38;2;255;255;255m_top[0m[38;2;248;248;242m;[0m 6 [38;2;248;248;242m [0m[38;2;249;38;114mprivate[0m[38;2;248;248;242m [0m[38;2;249;38;114mconst[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m [0m[38;2;255;255;255mCapacity[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m4[0m[38;2;248;248;242m;[0m 7 [38;2;248;248;242m [0m[38;2;249;38;114mprivate[0m[38;2;248;248;242m [0m[38;2;249;38;114mreadonly[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mT[0m[38;2;248;248;242m[[0m[38;2;248;248;242m][0m[38;2;248;248;242m [0m[38;2;255;255;255m_stack[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;249;38;114mnew[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mT[0m[38;2;248;248;242m[[0m[38;2;255;255;255mCapacity[0m[38;2;248;248;242m][0m[38;2;248;248;242m;[0m 8 9 [38;2;248;248;242m [0m[38;2;249;38;114mpublic[0m[38;2;248;248;242m [0m[38;2;166;226;46mStack[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m 10 [38;2;248;248;242m [0m[38;2;248;248;242m{[0m 11 [38;2;248;248;242m [0m[38;2;255;255;255m_top[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;248;248;242m;[0m 12 [38;2;248;248;242m [0m[38;2;248;248;242m}[0m 13 14 [38;2;248;248;242m [0m[38;2;249;38;114mprivate[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mbool[0m[38;2;248;248;242m [0m[38;2;166;226;46mIsEmpty[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m 15 [38;2;248;248;242m [0m[38;2;248;248;242m{[0m 16 [38;2;248;248;242m [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m [0m[38;2;255;255;255m_top[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m;[0m 17 [38;2;248;248;242m [0m[38;2;248;248;242m}[0m 18 [38;2;248;248;242m [0m[38;2;249;38;114mprivate[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mbool[0m[38;2;248;248;242m [0m[38;2;166;226;46mIsFull[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m 19 [38;2;248;248;242m [0m[38;2;248;248;242m{[0m 20 [38;2;248;248;242m [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m [0m[38;2;255;255;255m_top[0m[38;2;248;248;242m [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;255;255;255mCapacity[0m[38;2;248;248;242m [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m;[0m 21 [38;2;248;248;242m [0m[38;2;248;248;242m}[0m 22 23 [38;2;248;248;242m [0m[38;2;249;38;114mpublic[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mvoid[0m[38;2;248;248;242m [0m[38;2;166;226;46mPeek[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m 24 [38;2;248;248;242m [0m[38;2;248;248;242m{[0m 25 [38;2;248;248;242m [0m[38;2;255;255;255mSystem[0m[38;2;248;248;242m.[0m[38;2;255;255;255mConsole[0m[38;2;248;248;242m.[0m[38;2;248;248;242mWriteLine[0m[38;2;248;248;242m([0m[38;2;249;38;114m![0m[38;2;248;248;242mIsEmpty[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m?[0m[38;2;248;248;242m [0m[38;2;230;219;116m$"[0m[38;2;230;219;116mThe topmost element is: [0m[38;2;248;248;242m{[0m[38;2;255;255;255m_stack[0m[38;2;248;248;242m[[0m[38;2;255;255;255m_top[0m[38;2;248;248;242m][0m[38;2;248;248;242m}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;249;38;114m:[0m[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mThe stack is empty.[0m[38;2;230;219;116m"[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m 26 [38;2;248;248;242m [0m[38;2;248;248;242m}[0m 27 28 [38;2;248;248;242m [0m[38;2;249;38;114mpublic[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mT[0m[38;2;248;248;242m [0m[38;2;166;226;46mPop[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m 29 [38;2;248;248;242m [0m[38;2;248;248;242m{[0m 30 [38;2;248;248;242m [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m [0m[38;2;249;38;114m![0m[38;2;248;248;242mIsEmpty[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m?[0m[38;2;248;248;242m [0m[38;2;255;255;255m_stack[0m[38;2;248;248;242m[[0m[38;2;255;255;255m_top[0m[38;2;249;38;114m-[0m[38;2;249;38;114m-[0m[38;2;248;248;242m][0m[38;2;248;248;242m [0m[38;2;249;38;114m:[0m[38;2;248;248;242m [0m[38;2;249;38;114mdefault[0m[38;2;248;248;242m;[0m 31 [38;2;248;248;242m [0m[38;2;248;248;242m}[0m 32 33 [38;2;248;248;242m [0m[38;2;249;38;114mpublic[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mvoid[0m[38;2;248;248;242m [0m[38;2;166;226;46mPush[0m[38;2;248;248;242m([0m[3;38;2;166;226;46mT[0m[38;2;248;248;242m [0m[3;38;2;253;151;31melement[0m[38;2;248;248;242m)[0m 34 [38;2;248;248;242m [0m[38;2;248;248;242m{[0m 35 [38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[38;2;249;38;114m![0m[38;2;248;248;242mIsFull[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m 36 [38;2;248;248;242m [0m[38;2;248;248;242m{[0m 37 [38;2;248;248;242m [0m[38;2;255;255;255m_stack[0m[38;2;248;248;242m[[0m[38;2;249;38;114m+[0m[38;2;249;38;114m+[0m[38;2;255;255;255m_top[0m[38;2;248;248;242m][0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;255;255;255melement[0m[38;2;248;248;242m;[0m 38 [38;2;248;248;242m [0m[38;2;248;248;242m}[0m 39 [38;2;248;248;242m [0m[38;2;249;38;114melse[0m 40 [38;2;248;248;242m [0m[38;2;248;248;242m{[0m 41 [38;2;248;248;242m [0m[38;2;255;255;255mSystem[0m[38;2;248;248;242m.[0m[38;2;255;255;255mConsole[0m[38;2;248;248;242m.[0m[38;2;248;248;242mWriteLine[0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mCannot push - the stack is full.[0m[38;2;230;219;116m"[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m 42 [38;2;248;248;242m [0m[38;2;248;248;242m}[0m 43 [38;2;248;248;242m [0m[38;2;248;248;242m}[0m 44 45 [38;2;248;248;242m [0m[38;2;249;38;114mpublic[0m[38;2;248;248;242m [0m[38;2;249;38;114moverride[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m [0m[38;2;166;226;46mToString[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m 46 [38;2;248;248;242m [0m[38;2;248;248;242m{[0m 47 [38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[38;2;248;248;242mIsEmpty[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m 48 [38;2;248;248;242m [0m[38;2;248;248;242m{[0m 49 [38;2;248;248;242m [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mThe stack is empty.[0m[38;2;230;219;116m"[0m[38;2;248;248;242m;[0m 50 [38;2;248;248;242m [0m[38;2;248;248;242m}[0m 51 52 [38;2;248;248;242m [0m[3;38;2;102;217;239mvar[0m[38;2;248;248;242m [0m[38;2;255;255;255mdepiction[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116m"[0m[38;2;248;248;242m;[0m 53 54 [38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[3;38;2;102;217;239mvar[0m[38;2;248;248;242m [0m[38;2;255;255;255mindex[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m;[0m[38;2;248;248;242m [0m[38;2;255;255;255mindex[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;255;255;255m_top[0m[38;2;248;248;242m;[0m[38;2;248;248;242m [0m[38;2;255;255;255mindex[0m[38;2;249;38;114m+[0m[38;2;249;38;114m+[0m[38;2;248;248;242m)[0m 55 [38;2;248;248;242m [0m[38;2;248;248;242m{[0m 56 [38;2;248;248;242m [0m[38;2;255;255;255mdepiction[0m[38;2;248;248;242m [0m[38;2;249;38;114m+=[0m[38;2;248;248;242m [0m[38;2;255;255;255m_stack[0m[38;2;248;248;242m[[0m[38;2;255;255;255mindex[0m[38;2;248;248;242m][0m[38;2;248;248;242m.[0m[38;2;248;248;242mToString[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m' '[0m[38;2;248;248;242m;[0m 57 [38;2;248;248;242m [0m[38;2;248;248;242m}[0m 58 59 [38;2;248;248;242m [0m[38;2;255;255;255mdepiction[0m[38;2;248;248;242m [0m[38;2;249;38;114m+=[0m[38;2;248;248;242m [0m[38;2;255;255;255m_stack[0m[38;2;248;248;242m[[0m[38;2;255;255;255m_top[0m[38;2;248;248;242m][0m[38;2;248;248;242m.[0m[38;2;248;248;242mToString[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m 60 61 [38;2;248;248;242m [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m [0m[38;2;230;219;116m$"[0m[38;2;230;219;116mStack: [[0m[38;2;248;248;242m{[0m[38;2;255;255;255mdepiction[0m[38;2;248;248;242m}[0m[38;2;230;219;116m][0m[38;2;230;219;116m"[0m[38;2;248;248;242m;[0m 62 [38;2;248;248;242m [0m[38;2;248;248;242m}[0m 63 [38;2;248;248;242m [0m[38;2;248;248;242m}[0m 64 [38;2;248;248;242m}[0m 65