如何高效处理C++中的repeated
导读:在 C++ 中,处理重复(repeated)数据的一种高效方法是使用标准库中的关联容器和算法 使用 std::set 或 std::unordered_set 存储不重复元素: #include<iostream> #inc...
在 C++ 中,处理重复(repeated)数据的一种高效方法是使用标准库中的关联容器和算法
- 使用
std::set
或std::unordered_set
存储不重复元素:
#include<
iostream>
#include <
set>
#include<
vector>
int main() {
std::vector<
int>
numbers = {
1, 2, 3, 4, 5, 5, 6, 7, 8, 9, 9}
;
std::set<
int>
unique_numbers;
for (const auto&
num : numbers) {
unique_numbers.insert(num);
}
for (const auto&
num : unique_numbers) {
std::cout<
<
num <
<
" ";
}
return 0;
}
- 使用
std::unique
和std::vector
删除连续重复元素:
#include<
iostream>
#include<
vector>
#include<
algorithm>
int main() {
std::vector<
int>
numbers = {
1, 2, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 9}
;
numbers.erase(std::unique(numbers.begin(), numbers.end()), numbers.end());
for (const auto&
num : numbers) {
std::cout<
<
num <
<
" ";
}
return 0;
}
- 使用
std::remove_if
和自定义谓词删除满足特定条件的元素:
#include<
iostream>
#include<
vector>
#include<
algorithm>
bool is_even(int num) {
return num % 2 == 0;
}
int main() {
std::vector<
int>
numbers = {
1, 2, 3, 4, 5, 6, 7, 8, 9}
;
numbers.erase(std::remove_if(numbers.begin(), numbers.end(), is_even), numbers.end());
for (const auto&
num : numbers) {
std::cout<
<
num <
<
" ";
}
return 0;
}
- 使用
std::count
和std::find
查找重复元素:
#include<
iostream>
#include<
vector>
#include<
algorithm>
int main() {
std::vector<
int>
numbers = {
1, 2, 3, 4, 5, 5, 6, 7, 8, 9, 9}
;
for (const auto&
num : numbers) {
if (std::count(numbers.begin(), numbers.end(), num) >
1) {
std::cout <
<
"Repeated number: "<
<
num<
<
std::endl;
}
}
return 0;
}
这些示例展示了如何在 C++ 中高效地处理重复数据。根据你的需求,可以选择合适的方法来解决问题。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何高效处理C++中的repeated
本文地址: https://pptw.com/jishu/699396.html