本文共 1357 字,大约阅读时间需要 4 分钟。
/******************* * Stack * * *****************/#include using namespace std;/***************************定义***************************************/class Stack{ public: Stack(int capacity = 5); virtual ~Stack(); bool push(int v);//返回是否入栈成功 bool pop(int *p = NULL);//返回出栈是否成功,成功则返回p [变相返回] bool empty();//判断是否空栈 bool full();//判断是否栈满 private: int * pdata;//存放数据 int capacity;//定义栈大小 int top;};/***************************构造函数************************************/Stack::Stack(int capacity){ this->capacity = capacity; pdata = new int[capacity];//不需要*sizeof[int] top = 0;}/***************************析构函数************************************/Stack::~Stack(){ if(NULL!=pdata) { delete [] pdata; } pdata = NULL;}/***************************进栈函数************************************/bool Stack::push(int v){ if(full())//stack is full { cerr<<"stack is full."< =capacity) { return true; } return false;}/***************************测试函数************************************/int main(int argc,char **argv){ Stack s; int i = 0; s.push(1); s.push(2); s.pop(); s.push(3); s.push(4); s.push(5); s.push(6); s.push(7); cout< < <7;i++) { s.pop(); } return 0;}
转载于:https://blog.51cto.com/lddyw/1542462