#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int a[10] = { 1,4,6,8,9,12,14,15,18,23 };
int n;
int find(int a[],int key);
cout << "a num" << endl;
cin >> n;
cout << "第" << find(a, n)+1<<"个" << endl;
}
int find(int a[],int key)
{
int low = 0;
int high = 9;
static int mid;
if (low <= high)
{
mid = (low + high) / 2;
for (int i = 0; i < mid; i++)
{
if (key == a[mid])
return mid;
else if (key < a[mid])
mid = (mid-1 + low)/2;
else
mid = (mid +1 + high)/2;
}
}
}
折半排序法,给定一数组,输入一个值找到该值在数组中第几个
最新推荐文章于 2022-05-04 09:35:34 发布