栈顶元素为5.PPTVIP

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
栈顶元素为5

读程序训练 栈 回顾线性表的特性: 除了首尾结点,所有的结点都有前驱和后继; 首结点只有后继没有前驱,尾结点只有前驱没有后继; 线性表的任何位置都可以进行插入、删除等操作。 现在我们对线性表的操作做一点限制,规定所有的插入或删除操作只能在线性表的一端进行,这样的线性表称为栈(stack)。 栈是一种特殊的线性表,对它的插入和删除都限制在表的同一端进行。 练习4.3 若已知一个栈的入栈顺序是1,2,3,……,n,其输出序列为P1,P2,P3,……,Pn,若P1是n,则Pi是( )。 A)i   B)n-1  C)n-i+1  D)不确定 表达式变换 对栈的应用之一 历届初赛题(选) (9tg)表达式(1+34)*5-56/7的后缀表达式为( ) A. 1+34*5-56/7 B . -*+1 34 5/56 7 C. 1 34+5*56 7/-  D. 1 34 5*+56 7/- E. 1 34+5 567-*/ 应用一 中缀式到其他式子的转换方法 a+b*c-(d+e) 第一步:按照运算符的优先级对所有的运算单位加括号~ 式子变成拉:((a+(b*c))-(d+e)) 第二步:转换前缀与后缀表达式 前缀:把运算符号移动到对应的括号前面 则变成拉:-( +(a *(bc)) +(de)) 把括号去掉:-+a*bc+de 前缀式子出现 后缀:把运算符号移动到对应的括号后面 则变成拉:((a(bc)* )- (de)+ )- 把括号去掉:abc*-de+- 后缀式子出现 发现没有,前缀式,后缀式是不需要用括号来进行优先级的确定的。 请你试一试 将下列中缀表达式转换成后缀表达式: 将中缀表达式转化为后缀表达式的算法:   要将中缀表达式转化为等价的后缀表达式,须从左至右扫描中缀表达式,并用一个栈存放中缀表达式的“(”和暂时不能参与计算的运算符。  1、当读到数字直接送至后缀表达式中  2、当读到运算符t时,     a.将栈中所有优先级高于或等于t的运算符弹出,送到后缀表达式中;     b.t进栈  3、读到左括号时总是将它压入栈中  4、读到右括号时,将靠近栈顶的第一个左括号上面的运算符全部依次弹出,送至后缀表达式后,再丢弃左括号。 5、中缀表达式读完后,若栈中还有运算符,则将栈中运算符全部依次弹出,送至后缀表达式。 本节课课后作业 P276 1-6 var g,t1,t2,temp:int64; fz,fm:array[1..15] of longint; i,n:longint; function gcd(a,b:int64):longint; var r:int64; begin r:=a mod b; while r0 do begin a:=b; b:=r; r:=a mod b; end; gcd:=b; end; begin readln(n); fz[1]:=1;fm[1]:=1; fz[2]:=1;fm[2]:=2; for i:=3 to n do begin fz[i]:=fz[i-1]+fz[i-2]; fm[i]:=fm[i-1]+fm[i-2]; end; t1:=1;t2:=1; for i:=2 to n do begin g:=t2*fm[i] div gcd(t2,fm[i]); t1:=t1*(g div t2)+ fz[i]*(g div fm[i]); t2:=g; temp:=gcd(t1,t2); t1:=t1 div temp; t2:=t2 div temp; end; writeln(sum=,t1 div t2 ,+,t1-t2*(t1 div t2),/,t2); end. 2 7 3 5 35 3* 36 5 2* 36 7 + 1/1+1/2+2/3+3/5+5/8 P246 队的实现用数组,头尾两个指针(变量) f r 入队 inc(r) 出队 inc(f) 进队 出队 F(队首) R(队尾) A1 A2A3 A4 …… Ai 地面上有标号为A、B、C的3根细柱, 在A柱上放有10个直径相同中间有孔的圆盘, 从上到下次依次编号为1, 2, 3, ……,将

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档