首页 > 试题广场 >

BigNumber是一个大数类,其重载了运算符(但是没有重

[问答题]

BigNumber是一个大数类,其重载了<运算符(但是没有重载>运算符),你可以直接使用<进行比较大小,可惜的是,这种比较非常的费时。 exam_2_3可以从一个含有n个元素的BigNumber数组data中找出最大的和最小的,请把它填写完整,注意对BigNumber<运算符方法的调用不允许超过1.5n次。

struct BigNumber

{

    bool operator < (const BigNumber& r) const;

    …一些其他成员

};

一个例子,函数exam_2_3_1可以返回两个BigNumber中较大的那个。

BigNumber exam_2_3_1(BigNumber a, BigNumber b){return a<b?b:a;}

void exam_2_3 (BigNumber* data,int n,/*out*/BigNumber* pmax,/*out*/BigNumber* pmin){

*pmax=data[0];

    *pmin=data[0];

    int i=1;

    while(i<n){

        //在这个括号里写你的代码,没有行数限制

 

 

 

 

 

 

 

 

 

 

 

    }

}

这道题你会答吗?花几分钟告诉大家答案吧!