繁体   English   中英

保留数组的原始索引(续)

[英]keep original index of array (continued)

大家好,感谢您以前的帮助,特别是对Sam,我几乎可以完成这项工作,但是由于家庭紧急情况,不得不暂时停止工作,似乎一切正常,但有一点保留了原来的含义:

int [] indices = new int [15];         
for(int i=0; i<indices.length; i++){indices[i] = i;} 

// Below code used for sorting
for (int i=0; i<distances.length; i++)
{
for(int j = i+1; j<distances.length; j++)
{
    if (distances[i] > distances[j])  
    {
         double temp = distances[j];
        distances[j] = distances[i];
        distances[i] = temp;                                      

         int tempindex = indices[i];
         indices[j] = indices[i];
         indices[i] = tempindex;                                       
    }            
 }       
 }

for (int i=1; i<distances.length; i++) 
{
 System.out.println("Point "+indices[i] + " -> " + distances[i]);
}

}

我确实解释了Sam,但是似乎很难使代码显示原始索引,所以有人有什么想法吗?

不知道我是否理解您的问题。 但是我认为这是一个观念上的问题。

分配tempindex时,请使用所使用的索引。

int tempindex = indices[i];
indices[j] = indices[i];
// tempindex is equal to indeices[i], so this instruction does nothing.
indices[i] = tempindex; 

尝试改变

int tempindex = indices[i];

int tempindex = indices[j];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM