您好,登錄后才能下訂單哦!
在C++中,可以通過重載<運算符來定義自定義數據結構的比較規則,從而使其可以被存儲在set中。下面是一個示例,演示如何在自定義數據結構中集成set:
#include <iostream>
#include <set>
// 定義一個自定義的數據結構
struct Point {
int x;
int y;
// 重載<運算符,定義比較規則
bool operator<(const Point& other) const {
return x < other.x || (x == other.x && y < other.y);
}
};
int main() {
// 創建一個set來存儲Point結構體
std::set<Point> pointSet;
// 插入一些Point對象
pointSet.insert({1, 2});
pointSet.insert({3, 4});
pointSet.insert({1, 2}); // 重復元素不會被插入
// 遍歷set中的元素
for(const auto& point : pointSet) {
std::cout << "(" << point.x << ", " << point.y << ")" << std::endl;
}
return 0;
}
在這個示例中,我們定義了一個Point結構體,其中包含兩個整數成員x和y。然后我們重載了<運算符,定義了Point之間的比較規則,此處按照x坐標升序排列,如果x坐標相同則按照y坐標升序排列。
接著我們創建了一個set
最后我們遍歷set中的元素,并輸出它們的坐標。通過重載<運算符,我們可以在自定義數據結構中集成set,并進行元素的插入、查找、刪除等操作。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。