问题及代码:
/*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作 者:崔青青
*完成日期:2016年6月4日
*版 本 号:v1.0
*问题描述:
*输入描述:无
*输出描述:无
*/
#include <iostream>
#include<set>
#include<algorithm>
#include<iterator>
#include<vector>
#include<functional>
#include<deque>
#include<utility>
using namespace std;
int main()
{
set<double>s;
pair<set<double>::iterator,bool>r;
while(true)
{
double v;
cin>>v;
if(v==0)break;
r=s.insert(v);
if(!r.second)
cout<<v<<"duplicated\n";
}
set<double>::iterator iter1=s.begin();
set<double>::iterator iter2=s.end();
double medium=(*iter1+*(--iter2))/2;
cout<<"medium:"<<medium<<endl;
cout<<"<=medium:";
copy(s.begin(),s.upper_bound(medium),ostream_iterator<double>(cout," "));
cout<<endl;
cout<<">=medium:";
copy(s.lower_bound(medium),s.end(),ostream_iterator<double>(cout," "));
cout<<endl;
return 0;
}
运行结果:
知识点总结:
set集合,无重复元素,insert插入函数,upper——bound上限函数,lower_bound下限函数。
学习心得:
项目要自己动手做一下才能真正体会。