This is related to SCJP5.0.It is regarding binary search which includes insertionpoint concept.i am not clear with insertionpoint concept and if anyone know abt this concept,please share with me and explain the output of the following program.

Question:

Given a properly prepared String array containing five elements, which range of results could a proper invocation of Arrays.binarySearch() produce? A. 0 through 4 B. 0 through 5 C. -1 through 4 D. -1 through 5 E. -5 through 4 F. -5 through 5 G. -6 through 4 H. -6 through 5

Answer is G) -6 through 4.

i am not able to arrive at this output.please explain it in step by step .it will be helpful for me as i am preparing for SCJP5.0 certification.

It is the concept of insertion point. Consider the below example. import java.util.*;

The output will be -6. This is because if 8 were to be inserted it would have to be inserted after "5" in the array. Hence the insertion point(index of the number being searched) would be 5. And the search result is given by -(insertion point)-1. which is -(5)-1=-6.This is the maximum negative range.

The maximum positive range will be if you search for "5" which is at index 4. Hence the possible range is -6 through 4.

Regards, Joshua

sriannapoorna Balasubramanian
Greenhorn

Joined: Aug 24, 2006
Posts: 9

posted

0

Thanks Joshua.I am now clear with the concept of insertion point.Thanks for your effort.