- java는 배열에서 이진 검색을 하는 메소드를 표준 라이브러리로 제공한다
- java.util.Arrays 클래스의 binarySearch메소드가 있다
import java.util.Arrays;
import java.util.Scanner;
public class BinarySearchTester {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print("요솟수 : ");
int num = stdIn.nextInt();
int[] x = new int[num];
//배열생성
System.out.println("오름차순으로 입력하세요.");
System.out.print("x[0]: ");
x[0] = stdIn.nextInt();
for (int i = 1; i < num; i++) {
do {
System.out.print("x[" + i + "]: ");
x[i] = stdIn.nextInt();
} while (x[i] < x[i-1]); //오름차순으로 입력하지 않았을 시, 다시 입력하도록 한다
}
System.out.print("검색할 값: ");
int ky = stdIn.nextInt();
int idx = Arrays.binarySearch(x, ky);
if (idx < 0) //찾는 값이 없으면 항상 음수값을 return한다
System.out.println("그 값의 요소가 없습니다.");
else
System.out.println(ky + "은(는) x[" + idx + "]에 있습니다.");
}
}
'Algorithm' 카테고리의 다른 글
큐(Queue) (0) | 2022.06.08 |
---|---|
스택(Stack) (0) | 2022.06.08 |
검색(선형 검색, 보초법,이진 검색 (0) | 2022.06.06 |
다차원배열과 확장 for문의 장점 (0) | 2022.06.06 |
에라토스테네스의 체 (0) | 2022.06.06 |