public static int ef(int a[], int n) {
// 砍半取中间值进行比较
int s = 0, e = a.length - 1;
int m = (s + e) / 2;
while (a[m] != n && e > s) {
// 在前半部分
if (a[m] > n) {
e = m - 1;
}
// 在后半部分
else if (a[m] < n) {
s = m + 1;
}
m = (s + e) / 2;
}
//
if (a[m] == n) {
return m;
} else {
return -1;
}
// 砍半取中间值进行比较
int s = 0, e = a.length - 1;
int m = (s + e) / 2;
while (a[m] != n && e > s) {
// 在前半部分
if (a[m] > n) {
e = m - 1;
}
// 在后半部分
else if (a[m] < n) {
s = m + 1;
}
m = (s + e) / 2;
}
//
if (a[m] == n) {
return m;
} else {
return -1;
}