在C++中,遍历时避免重复的方法取决于遍历的数据结构和具体的需求。以下是一些常见的方法:
#include <iostream>
#include <set>
int main() {
std::set<int> s = {1, 2, 3, 1, 2, 3}; // {1, 2, 3}
for (int num : s) {
std::cout << num << " ";
}
return 0;
}
#include <iostream>
#include <vector>
int main() {
std::vector<int> nums = {1, 2, 3, 1, 2, 3};
std::vector<bool> visited(nums.size(), false);
for (int i = 0; i < nums.size(); i++) {
if (!visited[i]) {
std::cout << nums[i] << " ";
visited[i] = true;
}
}
return 0;
}
无论使用哪种方法,都需要根据具体情况选择最合适的方式来避免重复遍历。