我正在对 String 进行二进制搜索,它显示输出错误。我不知道我错过了什么,我需要一些建议。
这是我的代码:
public static final int Not_Found = -1;
public static int BS( String[][] record, String x )
{
int low = 0;
int high = record.length - 1;
int mid;
while( low <= high )
{
mid = ( low + high ) / 2;
if( record[ mid ].compareTo( x ) < 0 )
low = mid + 1;
else if( record[ mid ].compareTo( x ) > 0 )
high = mid - 1;
else
return mid;
}
return Not_Found;
}
是我遗漏了什么吗?或者我必须使用其他方式找到它?
这里的错误:
错误:找不到符号 if(record[ mid ].compareTo( x ) < 0 ) ^ 符号:方法 compareTo(String)
错误:找不到符号 else if(record[ mid ].compareTo( x ) > 0 ) ^ 符号:方法 compareTo(String)