练习10.9 实现你自己的elimDups。测试你的程序,分别在读取输入后、调用unique后以及调用erase后打印vector的内容。
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
void elimDups(vector<string> &);
int main()
{
string word;
vector<string> text;
while (cin >> word) {
text.push_back(word);
}
elimDups(text);
for (auto i : text) {
cout << i << " ";
}
return 0;
}
void elimDups(vector<string> &text)
{
sort(text.begin(), text.end());
auto iter = unique(text.begin(), text.end());
text.erase(iter, text.end());
}
练习10.10 你认为算法不改变容器大小的原因是什么?
答:1.将实现算法操作和实现改变容器大小的操作区分开来,有利于程序员的操作和记忆。
2.函数的较容易编写,效率更高。