顺序栈

来源:互联网 发布:网络热门歌曲排行榜 编辑:程序博客网 时间:2024/06/02 20:57
#include <iostream>using namespace std;class arrStack{private:int mSize;int top;int * st;public:arrStack(int size){mSize=size;top = -1;st=new int [mSize];}~arrStack(){delete[]st;}void clear(){ top = -1; }void print_arrStack();bool push(int item);bool pop(int & item);};bool arrStack::pop(int & item){if(top==-1){cout<<"此栈为空栈,不能出栈!!!\n";return false;}item=st[top--];return true;}bool arrStack::push(int item){if(top==mSize){int * newSt=new int [mSize*2];for(int i=0;i<=top;i++){newSt[i]=st[i];}delete[]st;st=newSt;mSize=mSize*2;}st[++top]=item;return true;}void arrStack::print_arrStack(){int x=top;cout<<"这个栈为:\n";for (int i=0;i<=x;i++){cout<<st[i]<<endl;}}int main(){arrStack s(2);s.push(2);s.push(8);s.push(9);s.print_arrStack();int temp;s.pop(temp);cout<<"出栈的元素为:"<<temp<<endl;s.print_arrStack();return 0;}


 

原创粉丝点击