// 이진 검색 만들기
public class Test001 {
public static void main(String[] args) {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // 정렬이 되어 있어야만 이진 검색이 된다. Arrays.sort(arr); 이용
System.out.println(binarySearch(arr,11));
}
static int binarySearch(int[] arr, int key) {
int mid=0,low=0, high=arr.length-1;
while (low <= high) {
mid = (low + high)/2;
if (arr[mid] == key)
return mid;
else if (arr[mid] > key)
high = mid-1;
else
low = mid+1;
}
if (low <= high)
return mid;
else
return -1;
}
}
댓글 없음:
댓글 쓰기