您的位置:首页 > 理论基础 > 数据结构算法

数据结构实验 第二单元 括号匹配

2015-12-18 12:13 288 查看
/// <summary>
/// 判断括号是否匹配,只支持{} [] ()
/// </summary>
/// <param name="strMatch"></param>
/// <returns></returns>
private Boolean IsCorrectMatch(string strMatch)
{
LinkStack ls = new LinkStack();
//括号匹配组
string
left = "{[(",
right = "}])";

foreach(var word in strMatch)
{

if (left.IndexOf(word) != -1)
{
//是左括号
ls.Push(word);
}
else if (right.IndexOf(word) != -1)
{
//是右括号
//取出栈顶
object obj=ls.Pop();
if(obj == null)
{
//右括号数量 大于 左括号数量
return false;
}
char match = (char)obj;
if (left.IndexOf(match) != right.IndexOf(word))
{
//不匹配
return false;
}
}
}
if (ls.Empty() == false)
{
//左括号数量 大于 右括号数量
return false;
}

return true;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: