-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNewClass.java
More file actions
58 lines (52 loc) · 1.94 KB
/
NewClass.java
File metadata and controls
58 lines (52 loc) · 1.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import java.util.Arrays;
import java.util.Scanner;
/**
* Java program to implement Binary Search.
* version of Binary Search Algorithm in Java
*/
public class NewClass {
public static void main(String args[]) {
int[] list = new int[]{23, 43, 31, 12};
int number = 12;
Arrays.sort(list);
System.out.printf("Binary Search %d in integer array %s %n", number, Arrays.toString(list));
binarySearch(list, 12);
System.out.printf("Binary Search %d in integer array %s %n", 43, Arrays.toString(list));
binarySearch(list, 43);
list = new int[]{123, 243, 331, 1298};
number = 331;
Arrays.sort(list);
System.out.printf("Binary Search %d in integer array %s %n", number,
Arrays.toString(list)); binarySearch(list, 331);
System.out.printf("Binary Search %d in integer array %s %n", 331, Arrays.toString(list));
binarySearch(list, 1333); // Using Core Java API and Collection framework
// Precondition to the Arrays.binarySearch
Arrays.sort(list); // Search an element
int index = Arrays.binarySearch(list, 3);
}
/**
* Perform a binary Search in Sorted Array in Java
* @param input
* @param number
* @return location of element in array
*/
public static void binarySearch(int[] input, int number) {
int first = 0;
int last = input.length - 1;
int middle = (first + last) / 2;while (first <= last) {
if (input[middle] < number) {
first = middle + 1;
}
else if (input[middle] == number) {
System.out.printf(number + " found at location %d %n", middle);
break;
}
else {
last = middle - 1;
}
middle = (first + last) / 2;}
if (first > last) {
System.out.println(number + " is not present in the list.\n");
}
}
}