2顺序栈的类实现 ①构造函数∥初始化top template<class T> Stack<T>::Stack(void):top(-1) {}
2 顺序栈的类实现 ① 构造函数 ∥初始化top template<class T> Stack<T>∷Stack(void):top(-1) { }
②向栈顶压入一个元素 template<class T> void Stack<T>::Push (const T&item) { if(top=-MaxStackSize-1) cerr<“Stack overflow!<<endl; exit(1); } top++; StackList[top]=item; }
② 向栈顶压入一个元素 template<class T> void Stack<T>∷Push(const T& item) { if(top==MaxStackSize-1) { cerr<<“Stack overflow!’’<<endl; exit(1); } top++; StackList[top] = item; }
③从栈顶弹出一个元素 template<class T> T Stack<T>:Pop(void) T temp; if (top =-1) cerr"Attempt to pop an empty stack!”<<endl; exit (1); } temp=StackList[top];top--; return temp; }
③ 从栈顶弹出一个元素 template<class T> T Stack<T>∷Pop(void) { T temp; if(top = -1) { cerr<<“Attempt to pop an empty stack!”<<endl; exit(1); } temp=StackList[top]; top --; return temp; }
④读栈顶元素 template<class T> T Stack<T>::Peek(void) if(top==-1) {cerr〈“Attempt to peek an empty stack!"<<endl; exit(1); } return Stacklist[top]; }
读栈顶元素 template<class T> T Stack<T>∷Peek(void) { if(top==-1) { cerr<<“Attempt to peek an empty stack!”<<endl; exit(1); } return Stacklist[top]; } ④
⑤测试栈是否为空 template<class T> int Stack<T>::StackEmpty (void)const { return top==-1; } ⑥ 测试栈是否为满 template<class T> int Stack<T>::StackFull(void)const return top =MaxStackSize-1;)
⑤ 测试栈是否为空 template<class T> int Stack<T>∷StackEmpty(void) const { return top= =-1; } ⑥ 测试栈是否为满 template<class T> int Stack<T>∷StackFull(void) const { return top = = MaxStackSize-1; }