离散化基础

#include<iostream>
#include<algorithm>
using namespace std;
struct node
{
    int data;
    int rank;
    int index;
};
node a[10001];
int n,i;
bool compdata(node x ,node y)
{
    return x.data<y.data;
}
bool compindex(node x,node y)
{
    return x.index<y.index;
}
int main()
{
    cin>>n;
    for( i=1;i<=n;i++)
    {
        cin>>a[i].data,a[i].index=i;
    }
    sort(a+1,a+1+n,compdata);
    for( i=1;i<=n;i++)
        a[i].rank=i;
    sort(a+1,a+1+n,compindex);
    for ( i=1;i<=n;i++)
        cout<<a[i].rank<<' ';
    return 0;
        
}

猜你喜欢

转载自blog.csdn.net/u010583225/article/details/81223043