7.14 (利用vector 对象去重)利用vector 对象重新实现练习题7.13中的功能。从一个空的vector 对象开 始,使用它的push_back函数把每个不同的值添加到这个vector 对象中
时间: 2024-09-25 10:19:48 浏览: 39
要利用`vector`对象去重(练习7.13的功能),你可以创建一个新的`vector`来存储唯一的元素。这里是一个示例:
```cpp
#include <iostream>
#include <vector>
using namespace std;
// 原来的vector去重函数,假设有一个vector<int> values
void removeDuplicates(vector<int>& values) {
// 创建一个新vector用于存储唯一值
vector<int> unique_values;
// 遍历原始vector
for (int val : values) {
// 检查新vector中是否有该值
if (unique_values.end() == find(unique_values.begin(), unique_values.end(), val)) {
// 如果没有,就将值添加到新vector中
unique_values.push_back(val);
}
}
// 使用unique_values替换原来的values
values = unique_values;
}
int main() {
vector<int> values = {1, 2, 2, 3, 3, 3, 4, 5};
cout << "Original vector: ";
for (int i : values) {
cout << i << " ";
}
removeDuplicates(values);
cout << "\nVector after removing duplicates: ";
for (int i : values) {
cout << i << " ";
}
return 0;
}
```
在这个例子中,我们遍历输入的`values`向量,如果某个元素不在`unique_values`中,我们就将其添加进去。最后,我们将`unique_values`赋值给`values`以更新原始向量。
阅读全文