#include
#include
#include
#include
using namespace std;
pair<int, pair<int, int>> t_d[100];
int t[100],d[100];
bool cmp(pair<int, pair<int, int>>a, pair<int, pair<int, int>>b)
{
return a.second.second < b.second.second;//根据第二个pair的second的值升序排序
}
int main() {
int n;
cin >> n;
for (int i = 1;i <= n;i++)
cin >> t[i];
for (int i = 1;i <= n;i++)
cin >> d[i];
for (int i = 1;i <= n;i++)
t_d[i] = make_pair(i, make_pair(t[i], d[i]));
sort(t_d, t_d + n, cmp);
for (int i = 1;i <= n;i++) {
cout << t_d[i].second.second<< " ";
}
}
对于两组测试样例,只有一组n等于5时排序成功输出上升序列,另一组对于依照关键字排序前后关键字顺序没有变化且不是正确顺序