以set具體說明
網站建設哪家好,找創新互聯!專注于網頁設計、網站建設、微信開發、小程序定制開發、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了峽江免費建站歡迎大家使用!方法一(強烈推薦寫法)#include#includeusing namespace std;
struct node
{int x;
int y;
bool operator<(const node& a) const
{if (a.x == x)
return y< a.y;
return x< a.x;
}
};
//在 set 里面進行重載,和優先隊列一樣
void run_case()
{sets;
s.insert(node{1, 1 });
s.insert(node{1, 1 });
s.insert(node{1, 2 });
s.insert(node{1, 3 });
s.insert(node{2, 2 });
s.insert(node{2, 3 });
cout<< s.begin()->x<< " "<< s.begin()->y<< "\n"; // 輸出 1,1
}
int main()
{run_case();
return 0;
}
方法二(一般推薦)#include#includeusing namespace std;
struct node
{int x;
int y;
};
class comp
{public:
bool operator()(const node& a, const node& b) const
{if (a.x == b.x)
return a.y< b.y;
return a.x< b.x;
}
};
void run_case()
{sets;
s.insert(node{1, 1 });
s.insert(node{1, 1 });
s.insert(node{1, 2 });
s.insert(node{1, 3 });
s.insert(node{2, 2 });
s.insert(node{2, 3 });
cout<< s.begin()->x<< " "<< s.begin()->y<< "\n";
}
int main()
{run_case();
return 0;
}
方法三(了解就好)#include#includeusing namespace std;
struct node
{int x;
int y;
};
bool comp(const node& a, const node& b)
{if (a.x == b.x)
return a.y< b.y;
return a.x< b.x;
}
void run_case()
{sets(comp);
s.insert(node{1, 1 });
s.insert(node{1, 1 });
s.insert(node{1, 2 });
s.insert(node{1, 3 });
s.insert(node{2, 2 });
s.insert(node{2, 3 });
cout<< s.begin()->x<< " "<< s.begin()->y<< "\n";
}
int main()
{run_case();
return 0;
}
對于multiset也是一樣的用法,可以自行嘗試
參考資料點這里
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
新聞標題:c++STL模板庫的set和multiset自定義排序函數-創新互聯
文章轉載:http://m.newbst.com/article16/dehgdg.html
成都網站建設公司_創新互聯,為您提供網站維護、品牌網站制作、微信小程序、網站制作、響應式網站、網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯