预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共60页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

树及其应用 山东省青岛第二中学臧方青数据结构概念、栈、队列简单回顾请你分析一下这道题目【问题分析】: 从字符串中读入一个左括号时,就将其压入栈s中;当读入一个右括号时,就从栈顶取出左括号检查比较,看是否匹配,如果匹配,就将左括号出栈;否则显示不匹配.全部字符串读完后,最后检查栈是否为空,如果不空,左括号无右括号与之匹配,显示不匹配.vari:integer; s:string; a:array[1..2000]ofchar; c:integer; f:boolean; procedurepush(l:char); begin inc(c); a[c]:=l; end; procedurepop; begin dec(c); end;begin f:=true; assign(input,'pipei.in'); reset(input); assign(output,'pipei.out'); rewrite(output); readln(s); c:=0;fori:=1tolength(s)do begin iff=falsethenbreak; ifs[i]='{'thenpush('{'); ifs[i]='['thenpush('['); ifs[i]='<'thenpush('<'); ifs[i]='('thenpush('('); ifs[i]='}'thenbeginifa[c]='{'thenpopelsef:=false;end; ifs[i]=']'thenbeginifa[c]='['thenpopelsef:=false;end; ifs[i]='>'thenbeginifa[c]='<'thenpopelsef:=false;end; ifs[i]=')'thenbeginifa[c]='('thenpopelsef:=false;end; end; iffand(c=0)thenwriteln('yes')elsewriteln('no'); close(input); close(output); end. 2.溶液模拟器(simulator) 溶液配制模拟器是这样的程序:模拟器在电脑中构造一种虚拟溶液,然后你可以虚拟的向当前溶液中加入一定浓度一定质量的这种溶液,模拟器会迅速的算出倒入后虚拟溶液的浓度和质量。模拟器的使用步骤是这样的: 为模拟器设置一个初始质量和浓度v0,c0%(0<c0<100)。 进行一系列操作,模拟器支持两种操作: P(v,c)操作:表示向当前的虚拟溶液中加入质量为v浓度为c的溶液。 Z操作:撤销上一步P操作。 请你计算一下,输出每次操作后溶液的质量和浓度。 输入文件:simulator.in 第一行,两个整数v0,c0。 第二行,一个整数n,表示操作数(n<=10000)。 接下来n行,每行一条操作,格式为Pvc或Z。 注意若溶液中只剩初始溶液,再撤销就没什么用了。 任何时刻质量不会超过231-1。readln(v[0],c[0]);c[0]:=c[0]*0.01; readln(n);top:=0; fori:=1tondobegin read(ch); ifch='P'thenbegin readln(vt,ct);ct:=ct*0.01; v[top+1]:=v[top]+vt; c[top+1]:=(v[top]*c[top]+vt*ct)/v[top+1]; inc(top); end; ifch='Z'thenbegin iftop<>0thendec(top); readln; end; writeln(v[top],'',c[top]*100:0:5); end;细胞 一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。 输入:整数m,n(m行,n列)(1<=m<=80,1<=n<=50) 矩阵 输出:细胞的个数。 样例: 输入: 4100234500067103456050020456006710000000089 输出:4 0234500067103456050020456006710000000089 算法步骤:1、从文件中读入m*n矩阵,将其转换为0、1矩阵存入pic数组中;2、沿pic数组矩阵从上到下,从左到右,找到遇到的第一个细胞;将细胞的位置入队h,并沿其上、下、左、右四个方向上搜索,如果遇到细胞(pic[I,j]=1)则将其位置入队,入队后的位置pic[I,j]数组置为0;3、将h队的队头出队,沿其上、下、左、右四个方向上搜索,如果遇到细胞则将其位置入队,入队后的位置pic数组置为0;4、重复3,直至h队空为止,则此时找出了一个细胞;5、重复2,直至矩阵找