Binary Search Example
package com.naresh.search;
import java.util.Scanner;
public class BinarySearch {
public static void main(String[] args) {
int[] intArray = new int[10];
int searchValue = 0, index;
System.out.println("Enter 10 Numbers");
Scanner s = new Scanner(System.in);
for (int i = 0; i < intArray.length; i++) {
intArray[i] = s.nextInt();
}
System.out.println("Enter a Number To Search For:");
searchValue = s.nextInt();
index = binarySearch(intArray, searchValue);
if (index != -1) {
System.out.println("Found at index:" + index);
} else {
System.out.println("Not Found");
}
}
static int binarySearch(int[] search, int find) {
int start = 0, end, midPoint;
end = search.length - 1;
while (start <= end) {
midPoint = (start + end) / 2;
if (search[midPoint] == find) {
return midPoint;
} else if (search[midPoint] < find) {
start = midPoint + 1;
} else {
end = midPoint - 1;
}
}
return -1;
}
}
Linear Search Example
package com.naresh.search
import java.util.Scanner;
public class LinearSearch {
public static void main(String[] args) {
int c, n, search, array[];
Scanner in
= new Scanner(System.in);
System.out.println("Enter number of elements");
n =
in.nextInt();
array = new int[n];
System.out.println("Enter " + n + " integers");
for (c = 0; c < n; c++)
array[c]
= in.nextInt();
System.out.println("Enter value to find");
search =
in.nextInt();
for (c = 0; c < n; c++) {
if (array[c] == search) /* Searching element is present */
{
System.out.println(search + " is present at location [" + (c)
+
"] According to Array Index.");
break;
}
}
if (c == n) /* Searching element is absent */
System.out.println(search + " is not present in array.");
}
}