现有两个数组
difficulty = [2,4,6,8,10], profit = [10,20,30,40,50]
我们想要对其排序,但是不失去它们之间一一对应的关系
那么,先构造一个vector<pair<int,int>>将数据绑定
int n = difficulty.size();
vector<pair<int,int>> jobs(n);
for(int i = 0; i < n ; i++){
jobs[i] = {difficulty[i],profit[i]};
}
再使用C++20的ranges::sort(jobs)对其排序,就可以得到有序数组了
可以通过jobs[i].first,jobs[i].second分别访问其第一、第二个元素
也可以使用结构化绑定来访问数组
for(auto&[k,v] : jobs){
//通过k访问第一个,v访问第二个元素
}