二分法查找C语言实现

二分法查找C语言实现:二分法查找C语言实现_第1张图片
while的条件里,也可把k<0写到循环体里面去,用break语句跳出循环,break可以用在循环语句中,也可用在switch语句中。二分法查找C语言实现_第2张图片
C语言实现:

#include
using namespace std;
int main()
{
short low{ 0 }, high{ 19 }, mid{0},k{ -1 };
int m;//想要查找的值
short i = 0;
int a[]{ 66,88,92,97,101,233,554,655,782,985,1123,2324,2522,2782,3358,45232,88754,69999,78259,232145 };
cout << “数组a的值:”;
for (i = 0; i < 20; i++)
cout << a[i]<<" ";
cout << "\n请输入想要查找的值: ";
cin >> m;

while (low <= high&&k<0)
{
    mid = (low + high) / 2;
    if (m > a[mid])
        low = mid + 1;
    else if (m < a[mid])
        high = mid - 1;
    else
        k = mid;
}
if (k >= 0)
    cout << "index : " << k << endl;
else
    cout << "Not be found."<< endl;
system("pause");

}

你可能感兴趣的:(二分法查找C语言实现)