CPP:
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <vector>
4 #include <iostream>
5 using namespace std;
6 template<typename T>
7 int binarySearch(const vector<T> &a, const T &x, int& aiTimes)
8 {
9 int low = 0;
10 int high = a.size() - 1;
11
12 while(low <= high)
13 {
14 ++aiTimes;
15 int mid = (low + high) / 2;
16
17 if(a[mid] < x)
18 {
19 low = mid + 1;
20 }
21 else if(a[mid] > x)
22 {
23 high = mid - 1;
24 }
25 else
26 {
27 return mid;
28 }
29 }
30
31 return -1; <
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <vector>
4 #include <iostream>
5 using namespace std;
6 template<typename T>
7 int binarySearch(const vector<T> &a, const T &x, int& aiTimes)
8 {
9 int low = 0;
10 int high = a.size() - 1;
11
12 while(low <= high)
13 {
14 ++aiTimes;
15 int mid = (low + high) / 2;
16
17 if(a[mid] < x)
18 {
19 low = mid + 1;
20 }
21 else if(a[mid] > x)
22 {
23 high = mid - 1;
24 }
25 else
26 {
27 return mid;
28 }
29 }
30
31 return -1; <