算法6.栈// 06_栈.cpp : 此文件包含 main 函数。程序执行将在此处开始并结束。//#includeiostreamusingnamespacestd;// 顺序栈 C容器适配器 stack push pop top empty sizeclassSeqStack{public:SeqStack(intsize10):mtop(0),mcap(size){mpStacknewint[mcap];}~SeqStack(){delete[]mpStack;mpStacknullptr;}public:// 入栈voidpush(intval){if(mtopmcap){// 栈扩容expand(2*mcap);}mpStack[mtop]val;}// 出栈voidpop(){if(mtop0)throwstack is empty!;mtop--;}// 获取栈顶元素inttop()const{if(mtop0)throwstack is empty!;returnmpStack[mtop-1];}// 栈空boolempty()const{returnmtop0;}intsize()const{returnmtop;}private:voidexpand(intsize){int*pnewint[size];memcpy(p,mpStack,mtop*sizeof(int));delete[]mpStack;mpStackp;mcapsize;}private:int*mpStack;intmtop;// 栈顶位置intmcap;// 栈空间大小};intmain(){intarr[]{12,4,56,7,89,31,53,75};SeqStack s;for(intv:arr){s.push(v);}while(!s.empty()){couts.top() ;s.pop();}coutendl;}