基于JAVA的括号匹配算法
public class Stack {
private int size;//栈的大小
private int top;//栈顶元素下标 初始为-1
private char arr[];//定义数组为栈的容器
public Stack(int size){
arr=new char[size];
top=-1;//初始化栈的时候 栈内无元素 栈顶下标为-1
this.size=size;
}
public void push(char c){//入栈 同时栈顶元素下标加1
arr[++top]=c;
}
public char pop(){//出栈 删除 栈顶元素减1
return arr[top--];
}
public char peek(){//查看栈顶元素下标 但不删除
return arr[top];
}
public boolean isEmpty(){//判空
return(top==-1);
}
public boolean isFull(){
return(top==size-1);
}
}
public class BrecketChecker {
private String input;//存储待检查的字符
public BrecketChecker(String in){//构造方法 接受待检查的字符
this.input=in;
}
public void check(){//检查分隔符匹配的方法
int strlength=input.length();
Stack stack=new Stack(strlength);
for(int i=0;i<strlength;i++){
char ch=input.charAt(i);//获取串中的单个字符
switch(ch){
case'{':
case'[':