二分法查找C語言實現:
while的條件裏,也可把k<0寫到循環體裏面去,用break語句跳出循環,break可以用在循環語句中,也可用在switch語句中。
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");
}