栈的操作规则:后入先出,在栈顶执行入栈、出栈操作。
1. 代码实现
todo...
2. 相关问题:
1) n个元素依次入栈,则可能的出栈序列有2^(n-1)个。
3. 应用
1) 判断括号是否匹配
bool isBracketValid(char *str)
{
bool result = true;
int i = 0;
Stack< char > s;
while(result && str[i] != '\0')
{
switch(str[i])
{
case '{':
case '[':
case '(':
s.push(str[i]);
break;
case '}':
case ']':
case ')':
if(s.isEmpty() || s.pop() != str[i])
{
result = false;
}
break;
default:
break;
}
i++;
}
return result;
}