#include<cstdio>
#include<iostream>
#include<string>
#include<algorithm>
#include<cstring>
#include<vector>
using namespace std;
typedef long long lli;
int data[5000];
inline bool cmp(int l,int r){
for(int i=1;i<=10;i++){
printf("%d ",data[i]);
}
printf("\n");
return data[l]>data[r];
}
int main() {
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>data[i];
}
vector<int>p;
for(int i=1;i<=10;i++){
p.push_back(i+20);
}
sort(p.begin(),p.end(),cmp);
for(int oo:p){
cout<<oo<<" ";
}
cout<<endl;
for(int i=1;i<=n;i++){
printf("%d ",data[i]);
}
printf("\n");
return 0;
}就跟普通的排序一样,只不过是权值由原来的数组本身的值,改为了data数组。
另外我貌似还发现了,这样似乎就能把sort的排序过程输出出来。