Java program to search a name from a list of 10 names using linear search
import java.util.*;
class SearchName
{
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
String name[] = new String[10];
int i, flag = 0;
// Input 10 names
System.out.println(“Enter 10 names:”);
for(i = 0; i < 10; i++)
{
name[i] = sc.nextLine();
}
// Name to be searched
System.out.println(“Enter the name to search:”);
String search = sc.nextLine();
// Linear Search
for(i = 0; i < 10; i++)
{
if(name[i].equalsIgnoreCase(search))
{
flag = 1;
break;
}
}
// Display result
if(flag == 1)
System.out.println(“Name found at position ” + (i + 1));
else
System.out.println(“Name not found in the list”);
}
}
Java program to search a name from a list of 10 names using binary search
import java.util.*;
class BinarySearchName
{
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
String name[] = new String[10];
int low = 0, high = 9, mid;
boolean found = false;
System.out.println(“Enter 10 names in alphabetical order:”);
for(int i = 0; i < 10; i++)
{
name[i] = sc.nextLine();
}
System.out.println(“Enter the name to search:”);
String search = sc.nextLine();
while(low <= high)
{
mid = (low + high) / 2;
if(name[mid].equalsIgnoreCase(search))
{
found = true;
break;
}
else if(search.compareToIgnoreCase(name[mid]) > 0)
{
low = mid + 1;
}
else
{
high = mid – 1;
}
}
if(found)
System.out.println(“Name found at position ” + (mid + 1));
else
System.out.println(“Name not found in the list”);
}
}