Cpp_Primer_Answers icon indicating copy to clipboard operation
Cpp_Primer_Answers copied to clipboard

练习10.31答案有误

Open JPLAY0 opened this issue 3 years ago • 0 comments

题目要求:

修改前一题的程序,使其只打印不重复的元素。你的程序应该使用 unique_copy。

给出的答案:

int main()
{
	vector<int> v;
	istream_iterator<int> int_it(cin), int_eof;

	unique_copy(int_it, int_eof, back_inserter(v));
	sort(v.begin(), v.end());

	copy(v.begin(), v.end(), ostream_iterator<int>(cout, " "));
	cout << endl;
	return 0;
}```
由于输入的整数并不一定是有序的,所以这里采用unique_copy对vector进行插入不能达到去重效果,而应该在vector排完序后再用unique_copy进行输出,就能达到题目要求。

JPLAY0 avatar Jan 23 '22 08:01 JPLAY0