0
다음은 재귀 적 이진 검색을위한 나의 방법입니다. 이것은 정렬 된 목록에서 전화 번호를 찾는 것으로 가정되지만 파일의 첫 번째 번호에 대해서만 작동하며 다른 모든 것이 발견되지 않는다고 말합니다. 아무도 내가 틀린 것을 알아낼 수있게 도와 줄 수 있습니까?재귀 이진 검색 프로그램
static int binary (String num, String[] phone, int low, int high)
{
if ((high - low) <= 1)
{
if (phone [low].equals (num))
{
return low;
}
else if (phone [high].equals (num))
{
return high;
}
else
{
return -1;
}
}
int mid = (low + high)/2;
if (phone [mid].compareTo (num) > 0)
{
return binary (num, phone, 0, mid);
}
else if (phone [mid].compareTo (num) < 0)
{
return binary (num, phone, mid, high);
}
else
{
return -1;
}
}