Binary search (cont.)
nprivate int itemIndex (Student item,
n    StudentList list) {
n int low; //lowest index considered
n int high; //highest index considered
n int mid; //middle between high and low
n low =0
n high = list.size() -1;
n while (low <= high) {
n mid = (low+high)/2;
n if (list.get(mid).lessThan(item))
n   low = mid+1;
n else
n   high = mid-1;
n }
n return low;
n}