实验03.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验03 3-1\ 用数组实现栈的基本操作。 #include iostream using namespace std; #define MAXSIZE 500 class stack{ private: int s[MAXSIZE]; int top; public: stack(){ top=0; } int push(int x){ if (top=MAXSIZE) return 1; s[top++]=x; return 0; } int pop(int *p){ if (top==0) return 1; *p=s[--top]; return 0; } int Isempty(){ return (top==0); } int Isfull(){ return (top==MAXSIZE); } }; void main(){ stack s; int k,t; coutstack operator:\n1:push data\n2:pop data\n0:exit\n; while(1){ cink; switch (k){ case 1:{ cint; if(s.push(t))couterrorendl; break; } case 2:{ if(s.pop(t))couterrorendl; couttendl; break; } default: return; } } } 3-2\ 用链表实现栈的基本操作。 Node STACK {int data; node *link;}; Node *top=NULL; 上述程序段除main()部分变为下述部分即可 #include iostream Using namespace std; struct NODE { char data; NODE *link; }; NODE *top=NULL; Void push (char x) { NODE *p; p=new(NODE ); p-data=x; p-link=top; top=p; } int pop (char *p_y) { NODE *p; if (top==NULL) return(1); *p_y=top-data; p=top; top=top-link; delete p; return(0); } 3-3 实现表达式的计算 #include iostream using namespace std; #define MAXN 1000 char mid_e[MAXN],pos_e[MAXN]; //int v[26]; int icp(char c){ switch (c){ case ^: return(4); case *: case /: return(2); case +: case -: return(1); } } int isp(char c){ switch(c){ case ^: return(5); case *: case /: return(2); case +: case -: return(1); case (: return(0); case $: return(-1); } } int mid_to_pos(/*char mid_e[],char pos_e[]*/){ char stack[MAXN],c,c0=0; int top,i,j; stack[0]=$; top=0; j=0; i=0; c=mid_e[0]; while(c!=\0){ if(c=0c=9) pos_e[j++]=c; else{ if(c0=0c0=9)pos_e[j++]= ; switch(c){ case +: case -: case *: case /:

文档评论(0)

***** + 关注
实名认证
文档贡献者

本账号下所有文档分享可拿50%收益 欢迎分享

1亿VIP精品文档

相关文档