Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- /**
- *Program to perform Binary Search
- *@author Steve Robinson
- *@see footyntech.wordpress.com
- */
- class BinarySearch
- {
- public static void main(String arg[])
- {
- Scanner in=new Scanner(System.in);
- int key,loc;
- char ch;
- System.out.print("Enter the number of elements of the List: ");
- int len=in.nextInt();
- int[]array=new int[len];
- System.out.println("Enter the elements in \"ascending order only\"....");
- for(int i=0;i<len;i++)
- {
- System.out.println("Element "+(i+1)+": ");
- array[i]=in.nextInt();
- }
- do
- {
- System.out.print("Enter the element to search for: ");
- key=in.nextInt();
- loc=binarySearch(array,key,0,len-1);
- if(loc!=-1)
- System.out.println("Element found at location "+(loc+1));
- else
- System.out.println("Element not found!");
- System.out.print("Do another search? [y/n] ");
- ch=in.next().charAt(0);
- }while(ch=='y'||ch=='Y');
- }
- static int binarySearch(int[] array,int key,int start,int end)
- {
- if(start==end)
- {
- if(array[start]==key)
- return start;
- else
- return -1;
- }
- else
- {
- int mid=(start+end)/2;
- if(array[mid]==key)
- return mid;
- else if(array[mid]>key)
- return binarySearch(array,key,start,mid);
- else
- return binarySearch(array,key,mid+1,end);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement