问答题

[说明]
[算法4-1]的功能是:用来检查文本文件中的圆括号是否匹配。若文件中存在圆括号没有对应的左括号或者右括号,则给出相应的提示信息,如图4-18所示。


在[算法4-1]中,stack为一整数栈。算法中各函数的说明如表4-16所示。

表4-16 各函数的功能说明表

函数名
函数功能
push (int i)
将整数i压入栈stack中
pop ()
stack的栈顶元素出栈
empty ( )
判断stack栈是否为空.若为空,函数返回1,否则函数返回0
nextch ( )
读取文本文件中的下一个字符,并返回该字符的ASCII值,将字符所在的行号以及字符在行中的位置分别存储到变量row和col中,若遇到文件结束符,则将变量EOF置为true
kind (charch)
判断字符ch是左括号还是右括号,若是左括号,函数返回1;若是右括号,函数返回2;若两者都不是,函数返回0

[算法4-1] 将栈stack置空,置EOF为false


为了识别更多种类的括号,对[算法4-1]加以改进后得到[算法4-2]。[算法4-2]能够识别圆括号、方括号和花括号(不同类型的括号不能互相匹配)。改进后,函数kind(charch)的参数及其对应的返回值如表4-17所示。

表4-17 函数Kind(charch)的参数及其对应的返回值

ch
(
)
{
}
[
]
其他
返回值
1
2
3
4
5
6
0

[算法4-2]




[问题1]
请将[算法4-1]和[算法4-2]中,(1)~(7)空缺处的内容补充完整。
[问题2]
请从以下选项中选择相应的判断逻辑填补[算法4-2]中的“判断条件1”至“判断条件3”。注意,若“判断条件2”的逻辑判断结果为假,就无需对“判断条件3”进行判断。
判断条件1: (8)
判断条件2: (9)
判断条件3: (10)
[供选择的答案]
A.栈顶元素表示的是与当前字符匹配的左括号
B.栈顶元素表示的是与当前字符匹配的右括号
C.字符是左括号 D.字符是右括号 E.栈不空 F.栈空
G.字符是括号

【参考答案】

这是一道要求读者用创建Thread类的子类的方法实现多线程的编程题。本题的解答思路如下。 通常把限定只能在一端进行插入和......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)