主页有其他数据结构内容(持续更新中)
代码:#includeusing namespace std; template class Stack { T* s; int topnum; int capacity; public: Stack(int stackCapacity = 100); void push(const T& item); void pop(); bool empty()const; T top(); int size(); ~Stack(); }; template Stack ::Stack(int stackCapacity):capacity(stackCapacity) { topnum = -1; s = new T[capacity]; } template Stack ::~Stack () { delete[]s; } template void Stack ::push(const T &item) { if (topnum == capacity - 1) { cout << "Overflow" << endl; } else{ s[++topnum] = item; } } template void Stack ::pop() { if(topnum == 0){ cout << "Underflow" << endl; } else{ topnum--; } } template bool Stack ::empty() const { return topnum == -1; } template int Stack ::size() { return topnum + 1; } template T Stack ::top() { if (topnum == -1){ cout << "Stack is empty!" << endl; } else{ return s[topnum]; } }



