您的位置:首页 > 其它

查找

2016-03-14 15:44 369 查看
[b]一.二分查找[/b]

#include<iostream>
using namespace std;

template <typename T>
int BinarySearch(T A[], int start, int end, T k)
{
if (A == NULL || start < 0 || end < 0 || start > end)
{
return -1;
}

int mid = (start + end) / 2;
if (A[mid] == k)
{
return mid;
}
else if (A[mid] > k)
{
return BinarySearch(A, start, mid - 1, k);
}
else
{
return BinarySearch(A, mid + 1, end, k);
}
}

int main()
{
double A[] = { -10, -2.1, 1.1, 2.6, 3, 3, 4, 6};
cout << BinarySearch(A, 0, 7, 6.0); // 7

cout << endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: