// 计算a[0:n-1]中n个元素的排名
void Rank(int a[], int n, int r[])
{
int i, j;
for(i=0; i<n; i++)
r[i]=0;
for(i=0; i<n; i++)
for(j=0; j<i; j++)
if(a[j]<=a[i])
r[i]++;
else
r[j]++;
}
void Rearrange(int a[], int n, int r[])
{
int i;
int *u=new int[n];
for(i=0;i<n;i++)
u[r[i]]=a[i];
for(i=0;i<n;i++)
a[i]=u[i];
delete []u;
}
Ref:<<数据结构,算法与应用>>P38~39