您好,登錄后才能下訂單哦!
在C++中,set是一種容器,用來存儲不重復的元素,并且會自動進行排序。set是基于紅黑樹實現的,因此插入、查找和刪除操作的時間復雜度都是O(logn)。
下面是set的基本用法示例:
#include <iostream>
#include <set>
int main() {
// 創建一個set
std::set<int> myset;
// 插入元素
myset.insert(3);
myset.insert(1);
myset.insert(5);
// 遍歷set
for (auto it = myset.begin(); it != myset.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
// 查找元素
if (myset.find(3) != myset.end()) {
std::cout << "3 is found in the set" << std::endl;
}
// 刪除元素
myset.erase(1);
// 遍歷set
for (int x : myset) {
std::cout << x << " ";
}
std::cout << std::endl;
return 0;
}
在上面的示例中,我們首先創建了一個set,并插入了元素3、1和5。然后遍歷了set中的元素,并查找了元素3。接著刪除了元素1,并再次遍歷了set。
需要注意的是,set中的元素是按照默認的升序排序的。如果要使用自定義的比較函數來排序,可以在創建set時傳入自定義的比較函數,例如:
struct cmp {
bool operator() (int a, int b) {
return a > b; // 降序排序
}
};
std::set<int, cmp> myset;
這樣就可以實現降序排序的set。至此,我們初步探究了C++中set的基本用法。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。