一.二分查找
1 #include<iostream> 2 using namespace std; 3 4 template <typename T> 5 int BinarySearch(T A[], int start, int end, T k) 6 { 7 if (A == NULL || start < 0 || end < 0 || start > end) 8 { 9 return -1; 10 } 11 12 int mid = (start + end) / 2; 13 if (A[mid] == k) 14 { 15 return mid; 16 } 17 else if (A[mid] > k) 18 { 19 return BinarySearch(A, start, mid - 1, k); 20 } 21 else 22 { 23 return BinarySearch(A, mid + 1, end, k); 24 } 25 } 26 27 int main() 28 { 29 double A[] = { -10, -2.1, 1.1, 2.6, 3, 3, 4, 6}; 30 cout << BinarySearch(A, 0, 7, 6.0); // 7 31 32 cout << endl; 33 return 0; 34 }