1、vector<pair<int,int>> 和 Map 的異同點
map:會對插入的元素按鍵Key,自動排序,而且鍵Key不允許重復;
vector:的這種用法不會自動排序,而且允許重復。
2、queue<pair<int,int> > q;
而在pair定義下,可以以2種方式來向隊列中存入數據:
2.1 如借助make_pair()函數、或者用{}來存入
q.push(make_pair(x,y));
q.push({x,y});//在c11中使用,建議使用第一種方法
2.2 另外當隊列有多個數據時可以使用pair<pair<int,int>, pair<int,int>>,這樣就可以存入4個或4個以上的數據了,建議當數據超過4個以后使用結構體。
queue<pair<pair<int,int>,int> >q;
//first指示坐標,second指示長度
typedef pair<int,int> PII;
//這里是簡寫
queue<pair<PII,PII> > q;
//first指示坐標,second指示轉彎數和方向
原文鏈接:https://blog.csdn.net/qq_74910785/article/details/128521887