#include <iostream>
using namespace std;
// 折半查找算法(二分查找)
int Binary_Search(int* a,int n,int key)
{
int low = 1, high = n, mid = 0; // 初始化
while (low <= high) // 注意理解这里还有等于条件
{
mid = (low + high)/2; // 折半
if (key < a[mid])
high = mid -1; // 最高小标调整到中位小一位
else if (key > a[mid])
low = mid + 1; // 最低下标调整到中位大一位
else
return mid; // 相等说明即是
}
return 0;
}
void main ()
{
int a[11] = {0,9,23,45,65,88,90,96,100,124,210};
int n = Binary_Search(a,10, 9);
if (n != 0)
cout << "Yes:" << n << endl;
else
cout << "No:" << endl;
}
一直无法运行,运行结果框始终闪退,怎么解决!!!!