数据结构括号匹配代码
时间: 2023-10-17 18:01:10 浏览: 96
括号匹配代码
当然,我可以帮你提供一个简单的括号匹配的代码示例。这个问题可以使用栈这种数据结构来解决。下面是一个使用Python编写的示例代码:
```python
def is_balanced(expression):
stack = []
opening_brackets = ['(', '[', '{']
closing_brackets = [')', ']', '}']
for char in expression:
if char in opening_brackets:
stack.append(char)
elif char in closing_brackets:
if not stack:
return False
top = stack.pop()
if opening_brackets.index(top) != closing_brackets.index(char):
return False
return not stack
# 测试代码
test_cases = ["()", "()[]{}", "(]", "([)]", "{[]}", "([))"]
for expression in test_cases:
if is_balanced(expression):
print(f"{expression} 是括号匹配的")
else:
print(f"{expression} 不是括号匹配的")
```
这段代码定义了一个 `is_balanced` 函数,该函数接受一个表达式作为输入,并使用栈来检查括号是否匹配。它遍历表达式中的每个字符,如果是左括号,则将其推入栈中;如果是右括号,则将其与栈顶的左括号进行匹配。如果左右括号不匹配,或者在遍历结束后栈中还有剩余的左括号,则表达式不是括号匹配的。最后,如果栈为空,则表达式是括号匹配的。
运行上述代码,将会输出以下结果:
```
() 是括号匹配的
()[]{} 是括号匹配的
(] 不是括号匹配的
([)] 不是括号匹配的
{[]} 是括号匹配的
([)) 不是括号匹配的
```
希望这个代码示例能满足你的需求。如果还有其他问题,请随时提问!
阅读全文