简单int函数写从键盘输入10个数存入数组a,将a数组按升序排列存入数组b,用二分法在b中查找元素x,输出x在b中的位置,如果未找到,给出相应提示信
时间: 2023-06-25 09:05:49 浏览: 60
下面是代码实现:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 10;
int a[N], b[N];
int binary_search(int l, int r, int x)
{
while (l <= r)
{
int mid = (l + r) / 2;
if (b[mid] == x) return mid;
else if (b[mid] < x) l = mid + 1;
else r = mid - 1;
}
return -1;
}
int main()
{
for (int i = 0; i < N; i++) cin >> a[i];
sort(a, a + N);
for (int i = 0; i < N; i++) b[i] = a[i];
sort(b, b + N);
int x;
cin >> x;
int pos = binary_search(0, N - 1, x);
if (pos == -1) cout << "未找到" << endl;
else cout << "位置为:" << pos << endl;
return 0;
}
```
以上代码中,我们首先输入10个数存入数组a,然后将其排序存入数组b。接着,我们输入要查找的元素x,并在数组b中进行二分查找,返回元素x在数组b中的下标。如果找不到,则返回-1,并输出相应提示信息。
阅读全文