C++ 中的 set
是一個關聯容器,它包含了一組唯一的元素。set
中的元素在插入時自動排序。下面是對 C++ set
集合進行增刪改查操作的方法:
1. 增加元素(Insert)
使用 insert()
函數向 set
中添加元素。如果添加的元素已經存在于集合中,則不會發生任何操作。
#include<iostream>
#include <set>
int main() {
std::set<int> mySet;
// 插入元素
mySet.insert(5);
mySet.insert(1);
mySet.insert(9);
// 輸出集合中的元素
for (int x : mySet) {
std::cout << x << " ";
}
std::cout<< std::endl;
return 0;
}
2. 刪除元素(Erase)
使用 erase()
函數從 set
中刪除元素。可以通過傳遞一個元素值或迭代器來刪除元素。
#include<iostream>
#include <set>
int main() {
std::set<int> mySet = {1, 3, 5, 7, 9};
// 刪除元素
mySet.erase(5);
mySet.erase(mySet.find(3));
// 輸出集合中的元素
for (int x : mySet) {
std::cout << x << " ";
}
std::cout<< std::endl;
return 0;
}
3. 修改元素(Not supported directly)
由于 set
中的元素是唯一的,并且自動排序,因此不能直接修改元素。要修改元素,需要先刪除舊元素,然后插入新元素。
#include<iostream>
#include <set>
int main() {
std::set<int> mySet = {1, 3, 5, 7, 9};
// 修改元素(先刪除舊元素,再插入新元素)
mySet.erase(5);
mySet.insert(6);
// 輸出集合中的元素
for (int x : mySet) {
std::cout << x << " ";
}
std::cout<< std::endl;
return 0;
}
4. 查找元素(Find)
使用 find()
函數查找 set
中的元素。如果找到該元素,則返回一個指向該元素的迭代器;否則,返回一個指向 set
末尾的迭代器。
#include<iostream>
#include <set>
int main() {
std::set<int> mySet = {1, 3, 5, 7, 9};
// 查找元素
auto it = mySet.find(5);
if (it != mySet.end()) {
std::cout << "Found: " << *it<< std::endl;
} else {
std::cout << "Not found"<< std::endl;
}
return 0;
}
這些是 C++ set
集合的基本增刪改查操作。注意,由于 set
中的元素是唯一的,所以不支持直接修改元素。要修改元素,需要先刪除舊元素,然后插入新元素。