2016-05-28 10 views
1

Ich muss 2 Arrays erstellen und in aufsteigender Reihenfolge sortieren und es anzeigen. Ich habe es geschafft, ar [] in sortierte [] zu verschieben, aber ich kann es nicht wirklich sortieren.
Hier ist, was ich bisher:Sortierung eines Arrays in ein zweites Array in Java

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

Sie viele Sortieralgorithmen haben. Benutze Google. –

Antwort

0

Versuchen Sie einfach, und Java-Algorithmen hier verwenden zu verstehen. Wenn Sie Probleme haben, die Idee zu verstehen, zögern Sie bitte nicht zu fragen. http://www.java2novice.com/java-sorting-algorithms/

Sie sind effizienter und sie sind nicht fehleranfällig.

Angenommen, Sie versuchen Sortieralgorithmen und Codierung zu lernen, hier ist, was Sie versuchen; Bitte beachten Sie, dass bei identischen Werten nur einer von ihnen angezeigt wird.

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

Sie TreeSet verwenden können, ist es das Element sortieren natürlich:

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]); 
     } 
    } 
} 
Verwandte Themen