0
public int[] indexSort(){
int[] sortedarr = new int[max];
for(int i=0;i<max;i++){
int key=0;
int duplicates = 0;
for(int j=0;j<max;j++){
if(arr[i]>arr[j]) key++;
else if(arr[i]==arr[j]) duplicates++;
}
while(duplicates>0&&key<max){
sortedarr[key] = arr[i];
key++;
duplicates--;
}
}
return sortedarr; }
while循环是如何工作的?即使没有重复项(重复项= 0),while循环仍然执行。索引排序。一些奇怪的事情正在进行
我的思想很困惑。也是索引排序应该由O(n^3)运行?
妈没看到。你的实现并没有解决编译错误,但它给出了错误的输出。我只需要通过放置i!= j条件来补偿我的代码中始终存在的重复项。感谢您的帮助,索引排序应该是n^3?我无法在Google上找到任何有关此类信息的内容。 – Lifter 2014-09-19 12:24:24