📄 stack.cpp
字号:
#include <iostream>using namespace std;template<class T>class Stack {private: int size; // # of elements in the stack int top; // location of the top element T *stackPtr; // pointer to the stackpublic: Stack(int=10); // default constructor (stack size=10) ~Stack() { delete [] stackPtr;} // destructor bool push(const T&); // push an element onto the stack bool pop(T&); // pop an element off the stackprivate: bool isFull() const {return top == size-1;} bool isEmpty() const {return top == -1;}};template<class T>Stack<T>::Stack(int s){ size = s>0?s:10; // stack is initially empty top = -1; stackPtr = new T[size]; }template<class T>bool Stack<T>::push(const T& val){ if(!isFull()) { stackPtr[++top] = val; return true; } return false;}template<class T>bool Stack<T>::pop(T& val){ if(!isEmpty()) { val = stackPtr[top--]; return true; } return false;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -