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