溫馨提示×

c++遍歷如何避免重復

c++
小樊
83
2024-07-30 13:25:10
欄目: 編程語言

在C++中,遍歷時避免重復的方法取決于遍歷的數(shù)據(jù)結構和具體的需求。以下是一些常見的方法:

  1. 使用集合(Set):將需要遍歷的元素放入集合中,集合會自動去重,確保每個元素只出現(xiàn)一次。
#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;
}
  1. 使用標記數(shù)組:對于數(shù)組或容器中的元素,可以使用一個標記數(shù)組來標記已經訪問過的元素,確保每個元素只被訪問一次。
#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;
}
  1. 使用額外的數(shù)據(jù)結構:根據(jù)具體情況,可以使用其他數(shù)據(jù)結構如哈希表或圖來存儲已經訪問過的元素,以避免重復訪問。

無論使用哪種方法,都需要根據(jù)具體情況選擇最合適的方式來避免重復遍歷。

0