stack.cpp

来自「汉诺塔游戏」· C++ 代码 · 共 49 行

CPP
49
字号
#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 + =
减小字号Ctrl + -
显示快捷键?