Monday, 28 April 2014

Binary, Linear Search in Java

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.");

       }


}