下面是以传统形式的struct来定义一存放字符的栈类型,并定义了有关栈操作的各种函数。编写一主函数,定义并输入一个字符串,用此串来验证栈的各种操作,包括把串压入栈中后再弹出,以相反的次序将它们显示出来。#include″iostream.h″constmax—len=1000;enunboolean{—false,—true};enum{EMPTY=-1,FULL=max—len-1};structstack{chars[max—len];inttop;};voidreset(stack*st){st->top=EMPTY;}voidpust(charc,stack*st){st->top++;st->s[st->top]=c;}charpop(stack*st){return(st->s[st->top--]);}chartop(stack*st){return(st->s[st->top]);}booleanempty(conststack*st){return(boolean)(st->top==EMPTY);}booleanfull(conststack*st){return(boolean)(st->top==FULL);}
#include″iostream.h″main{inti;charx[10]=″0123456789″;stackA,*B;B=A;reset(B);for(i=0;i<10;i++)if(full(B)!=—true)push(x[i],B);for(i=0;i<10;i++)if(empty(B)!=—true)cout<<=""td="">