본문 바로가기

Algorithm

Arrays.binarySearch

- 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