分析以下程序的功能及其实现过程,写出运行结果,并为关键语句做注释。
#include <iostream>
using namespace std;
int biDiv(int* p, int Lp, int Rp) {
int Lm, Rm;
if (Lp == Rp) {
return p[Lp];
}
else {
Lm = biDiv(p, Lp, (Lp + Rp) / 2);
Rm = biDiv(p, (Lp + Rp) / 2 + 1, Rp);
if (Lm > Rm) {
return Lm;
}
else {
return Rm;
}
}
}
int main()
{
int a[11] = { 1,3,-2,4,5,-1,2,4,6,0,-4 };
cout << biDiv(a, 0, 10) << endl;
return 0;
}