Search name from a name list

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”);

}

}