2016-12-11 11 views
-2

それらに最も近いものにint配列ソートNUM例えば、現在に最も近いものの中で配列をソートする方法

int NumList[] = {55,65,67,80,90,44} 

int NumList[] = {55,80,67,44,90,65} 

しかし、失敗する

配列の最初のintは、参照点となるため位置が変わらない

+1

をあなたが「最も近い」 –

+0

はまた、「失敗」を定義してくださいで何を意味するか説明してください。 – Maroun

+0

無作為化された数字を互いに距離を置いて並べ替えたい、例えば、55-> 65(15)の距離が55-> 44(16) –

答えて

0

は、別の配列にあなたのアルゴリズムの結果を置く:

Var orderedArray = [] ; 
for(int i=1; i<NumList.length; i++){ 
      System.out.println(i); 
      dist = Math.abs(NumList[i]-NumList[i-1]); 
      for (int j = i +1; j < NumList.length; j++) { 
       newdist=Math.abs(NumList[i]-NumList[j]); 
       System.out.println(dist + ">" + newdist); 
       if(dist < newdist) 
       { 
        orderedArray.push(numList(i)); 

    } 
        System.out.println("yes"); 
       } 
       else 
        System.out.println("no"); 
      } 
関連する問題