首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

算法导论CLRS 9.1 最大值跟最小值

2012-11-06 
算法导论CLRS 9.1 最大值和最小值 /*9.1 最大值和最小值 *MINIMUM-MAXIMUM */#includecstdlib#includei

算法导论CLRS 9.1 最大值和最小值

 /*9.1 最大值和最小值 *MINIMUM-MAXIMUM */#include<cstdlib>#include<iomanip>#include<iostream>#include<vector>using namespace std;struct minmax{double min;double max;};typedef vector<double>::iterator dvecIte;minmax fminmax(const dvecIte &iteB, const dvecIte &iteE){//minmax mx(*iteB, *iteE);//if(iteB = iteE) return mx;double min, max;dvecIte ite = iteB;if(0==(iteE-iteB)%2) {min = *iteB>*(iteB+1) ? *(iteB+1) : *iteB;max = min!=*iteB ? *iteB : *(iteB+1);++ite;}else max = min = *iteB;++ite;while(iteE != ite) {double temp;temp = *ite>*(ite+1) ? *(ite+1) : *ite;min = min>temp ? temp : min;temp = temp!=*ite ? *ite : *(ite+1);max = max<temp ? temp : max;ite += 2;}minmax mx={min, max};return mx;} int main(){double inData;vector<double>dvec;cout<<"input some numbers with end-of-file!"<<endl;while(cin>>inData)dvec.push_back(inData);minmax mx = fminmax(dvec.begin(), dvec.end());cout<<"the minimum is:"<<setw(5)<<mx.min<<endl<<"the maximum is:"<<setw(5) <<mx.max<<endl;system("PAUSE");return EXIT_SUCCESS;}

热点排行