堆栈应用括号匹配
2014-10-05 17:59:57 6 举报
堆栈应用括号匹配
作者其他创作
大纲/内容
true
cout
sC != '('
false
i strlen(BracketString)
cinSampleNo
i = 0
若cS与S不匹配,说明左右括号配对次序不正确,返回-1
j SampleNo
C == '}'
栈空说明右括号多余左括号返回-2
sC = Pop(MBStack)
C = BracketString[i]
return -2
C == ']'
return -1
MBStack.top = MBStack.base
C == '('
MBStack.top == MBStack.base
Push(BracketString[i])
j++
C == ')'
sC != '{'
若扫描完栈不为空,说明左括号多余右括号,返回-3;若为空,说明括号恰好匹配,返回0
结束
j = 0
return 0
对一个括号表达式进行逐个扫描,进入循环,并将当前扫描所得字符赋值给C
输入测试组数,进入循环
MatchBraket function
i++
MBStack.top != MBStack.base
输入测试组数,进行循环
sC != '['
C == '{'
开始
cinBracketString
return -3
C == '['
0 条评论
下一页