离散化
#include<iostream> #include<cstdio> #include<algorithm> using namespace std; struct node { int value; int no; }arr[1000]; bool cmp(node x,node y) { return x.value<y.value; } int main() { int n; scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&arr[i].value); arr[i].no=i; } sort(arr+1,arr+1+n,cmp); for(int i=1;i<=n;i++) { arr[arr[i].no].value=i; } for(int i=1;i<=n;i++) printf("%d ",arr[i].value); printf("\n"); return 0; }