2016-05-28 8 views
1

2つの配列を作成し、もう一方を昇順にソートして表示する必要があります。私はar []をソートされた[]に移動することができましたが、実際にソートすることはできません。ここ
は、私がこれまで持っているものです。Javaの2番目の配列に配列を並べ替える

public class SortArray 
{ 
    public static void main(String argv[]) 
    { 
     int ar[] = { 7, 5, 2, 8, 4, 9, 6 }; 
     int sorted[] = new int[7]; 

     for (int i=0; i<ar.length-1; i++) 
     { 
      int smallest = 1000000; 
      int index = 0; 

      for (int j=i+1; j<sorted.length; j++) 
      { 
       if (ar[i] < smallest) 
       { 
        smallest=i; 

        int tmp = ar[i]; 
        ar[i] = sorted[j]; 
        sorted[j] = tmp; 
       } 
      } 
     } 

     for(int i=0; i<sorted.length; i++) 
     { 
      System.out.println("sorted[" + i + "] = " + sorted[i]); 
     } 
    } 
} 
+0

あなたは、ソートアルゴリズムの多くを持っています。 googleを使用します。 –

答えて

0

ちょうどここにJavaのアルゴリズムを理解し、使用してみてください。アイデアの理解に問題がある場合は、お気軽にお問い合わせください。 a

これらはより効率的でエラーを起こしにくいです。

ソートアルゴリズムとコーディングを習得しようとしていると仮定すると、ここにあなたがしようとしているものがあります。同じ値がある場合、それらのうちの1つだけを取得することに注意してください。

int ar[] = { 7, 5, 2, 8, 4, 9, 6 }; 
    int sorted[] = new int[6]; 

    int smallestFound=-1; 
    for (int i=0; i<ar.length-1; i++) 
    { 
     int smallest = 1000000; 
     for (int j=0; j<sorted.length; j++) 
     { 
      if (ar[j] < smallest && ar[j]>smallestFound) { 
       smallest = ar[j]; 
      } 
     } 
     smallestFound=smallest; 
     sorted[i] = smallest; 
    } 

    for(int i=0; i<sorted.length; i++) 
    { 
     System.out.println("sorted[" + i + "] = " + sorted[i]); 
    } 
0

あなたがTreeSetを使用することができ、それは自然の要素を並べ替える:

public class SortArray 
{ 
    public static void main(String argv[]) 
    { 
     int ar[] = { 7, 5, 2, 8, 4, 9, 6 }; 
    int sorted[] = new int[7]; 
List<Integer> sortedList = new TreeSet<Integer>(); 
for (int i=0; i<ar.length-1; i++) { 
    sortedList.add(ar[i]); 
} 

// transform into array 

for(int i = 0; i< sortedList.size(); i++) { 
sorted[i] = sortedList.get(i) 
} 


     for(int i=0; i<sorted.length; i++) 
     { 
      System.out.println("sorted[" + i + "] = " + sorted[i]); 
     } 
    } 
} 
関連する問題