组合题5 个小题
已作答 0 / 5
完善程序: (中位数 median) 给定 n(n 为奇数且小于 1000)个整数,整数的范围在 0∼m(0<m<231) 之间,请使用二分法求这 n 个整数的中位数。所谓中位数,是指将这 n 个数排序之后,排在正中间的数。(第五空 2 分,其余 3 分)
1#include <iostream>2using namespace std;3 4const int MAXN = 1000;5int n, i, lbound, rbound, mid, m, count;6int x[MAXN];7 8int main()9{10 cin >> n >> m;11 for (i = 0; i < n; i++)12 cin >> x[i];13 lbound = 0;14 rbound = m;15 while (①)16 {17 mid = (lbound + rbound) / 2;18 ②;19 for (i = 0; i < n; i++)20 if (③)21 ④;22 if (count > n / 2)23 lbound = mid + 1;24 else25 ⑤;26 cout << mid << " " << lbound << " " << rbound << " " << count << endl;27 }28 cout << rbound << endl;29 return (0);30}⑤处应填( )