关于如何用数组存储另一个数组的排序索引

来源:互联网 发布:平板电脑软件大全 编辑:程序博客网 时间:2024/06/10 01:47
有时候我们并不需要重新排序数组,值希望能够在不破坏原数组的情况下,建立一个索引,能够还原其排序的序列。
void getIndex(int Index[],int a[],int n){ int b[100]; int i; for(i=0;i<n;i++){ b[i]=a[i]; } for(i=0;i<n;i++){ Index[i]=i; } for(i=0;i<n;i++){ int min=b[Index[i]]; int J=i; for(int j=i+1;j<n;j++){ if(min>b[Index[j]]) { min=b[Index[j]]; J=j; } } if(i!=J){ swap(Index[i],Index[J]); } } } 

转载自 :http://11chen.iteye.com/admin/blogs/1767857
0 0