Differential search algorithms (non-recursive)

/**
* @param data Array with search (array)
* @param target target data
* @return returns the corresponding subscript, -1 means Not found
*/
public static int binarySearch(int[] data, int target) {
int low = 0;
int high = data.length-1;
// Continue to search
while (high >= low) {
int mid = (low + high) / 2;
if (data[mid] == target) {
return mid;
// find to the left
} else if (data[mid]> target) {
high = mid-1;
// find to the right< br />} else if (data[mid] low = mid + 1;
}
}

return -1;

}

public static void main(String[] args) {
int[] data = {1,6,8,41,68,100};
System.out.println(binarySearch(data, 100));
}

Leave a Comment

Your email address will not be published.