package study01;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
/*3. 0 ~ 1000사이의 100개의 임의의 정수를 배열에 저장합니다
Arrays.sort 메서드로 오름차순 정렬을 합니다
2진검색 알고리즘을 구현한 메서드를 구현해서 사용해보세요
*/
public class AhnHomework03_3 {
static Scanner sc = new Scanner(System.in);
public static void binarySearch(int arr[]){
System.out.println("탐색할 숫자 입력 : ");
int num = sc.nextInt();
int mid;
int left = 0;
int right = arr.length - 1;
while (right >= left) {
mid = (right + left) / 2;
if (num == arr[mid]) {
System.out.println(num + " index value: " + mid);
break;
}
if (num < arr[mid]) {
right = mid - 1;
} else {
left = mid + 1;
}
}
}
public static void main(String[] args) {
Random rd = new Random();
int[] arr = new int[100];
for (int i = 0; i < arr.length; i++) {
arr[i] = rd.nextInt(1000);
System.out.print(arr[i] + " ");
}
System.out.println();
Arrays.sort(arr); //오름차순 정렬
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
binarySearch(arr);
}
}