C++ 中的 set
是一個關聯容器,它包含一組唯一的對象。每個元素在插入時都會自動按鍵排序。set
通常使用紅黑樹實現,因此插入、刪除和查找操作的時間復雜度都是 O(log n)。
下面是一個簡單的 set
使用示例:
#include <iostream>
#include <set>
int main() {
// 創建一個整數類型的 set
std::set<int> my_set;
// 向 set 中插入元素
my_set.insert(3);
my_set.insert(1);
my_set.insert(4);
my_set.insert(1); // 重復元素,不會被插入
// 遍歷 set
for (const auto& element : my_set) {
std::cout << element << " ";
}
std::cout << std::endl;
// 查找元素
auto it = my_set.find(1);
if (it != my_set.end()) {
std::cout << "Found: " << *it << std::endl;
} else {
std::cout << "Not found" << std::endl;
}
// 刪除元素
my_set.erase(1);
// 再次遍歷 set
std::cout << "After erasing 1:" << std::endl;
for (const auto& element : my_set) {
std::cout << element << " ";
}
std::cout << std::endl;
return 0;
}
輸出結果:
1 3 4
Found: 1
After erasing 1:
3 4
在這個示例中,我們創建了一個整數類型的 set
,并向其中插入了一些元素。注意,重復的元素不會被插入。然后我們遍歷了 set
,查找了一個元素,并刪除了它。最后再次遍歷 set
以查看結果。