C++实现顺序栈
#includeusing namespace std; class SeqStack { public: SeqStack(int size = 10) { cout< cout< if(full()) resize(); _pstack[++_top]=val; } void pop() { if(empty()) return; --_top; } int top() { return _pstack[_top]; } bool empty(){ return _top == -1; } bool full(){ return _top == _size -1; } private: int *_pstack; int _top; int _size; void resize() { int *ptmp = new int[_size*2]; for(int i=0;i<_size;i++) { ptmp[i]=_pstack[i]; } delete [] _pstack; _pstack = ptmp; _size*=2; } }; SeqStack gs; int main() { // SeqStack *ps =new SeqStack(60); // ps->push(70); // ps->push(80); // ps->pop(); // cout<<"s.top(): "< top()< s.push(rand()%100); } while(!s.empty()) { s.pop(); } SeqStack s1(50); s1.push(30); return 0; }
此处注意
1.先构造后析构
2.全局类再程序结束后析构



