|
|
#include <iostream>
#include <iterator>
#include <algorithm>
#include <vector>
#include <functional>
using namespace std;
// 运行示例图
/*
* 输入:
* 23 109 45 89 6 34 12 90 34 23 56 23 8 89 23
*
* 输出
* 109 90 89 56 45 34 23 12 8 6
*
*/
int main()
{
istream_iterator<int> input(cin); // 从标准输入流读入一个整数集
istream_iterator<int> end_of_stream; // 读入结束
vector<int> vec;
copy(input, end_of_stream, inserter(vec, vec.begin()) ); // 将读入的开始到结束的所有整数插入到 vec容器中,
// 从首位置插入,并返回最后1个元素的下一位置
sort(vec.begin(), vec.end(), greater<int>() ); // 给指定区间的容器元素排序
ostream_iterator<int> output(cout, " "); // 向标准输出流(cout)写入数据,用空格分割每个元素
// unique_copy()从一个区间去除所有重复值,并且该区间的所有元素必须是排好序的,该函数返回第3个参数,即output中的元素
unique_copy(vec.begin(), vec.end(), output);
system("pause");
return 0;
}
不知道为什么这个代码会运行异常,解决半天不得其解,(代码是冲 c++primer抄的) |
|