Java Reference
In-Depth Information
LISTING 10.12
//********************************************************************
// Searching.java Author: Lewis/Loftus
//
// Demonstrates the linear search and binary search algorithms.
//********************************************************************
public class Searching
{
//-----------------------------------------------------------------
// Searches the specified array of objects for the target using
// a linear search. Returns a reference to the target object from
// the array if found, and null otherwise.
//-----------------------------------------------------------------
public static Comparable linearSearch (Comparable[] list,
Comparable target)
{
int index = 0;
boolean found = false ;
while (!found && index < list.length)
{
if (list[index].compareTo(target) == 0)
found = true ;
else
index++;
}
if (found)
return list[index];
else
return null ;
}
//-----------------------------------------------------------------
// Searches the specified array of objects for the target using
// a binary search. Assumes the array is already sorted in
// ascending order when it is passed in. Returns a reference to
// the target object from the array if found, and null otherwise.
//-----------------------------------------------------------------
public static Comparable binarySearch (Comparable[] list,
Comparable target)
{
int min=0, max=list.length-1, mid=0;
boolean found = false ;
Search WWH ::




Custom Search