In diesem Programm lernen Sie, die Elementwörter in lexikografischer Reihenfolge mit einer for-Schleife und gegebenenfalls in Java zu sortieren.
Um dieses Beispiel zu verstehen, sollten Sie die folgenden Java-Programmierthemen kennen:
- Java für Loop
- Java if… else-Anweisung
- Java String
Beispiel: Programm zum Sortieren von Zeichenfolgen in Wörterbuchreihenfolge
public class Sort ( public static void main(String() args) ( String() words = ( "Ruby", "C", "Python", "Java" ); for(int i = 0; i < 3; ++i) ( for (int j = i + 1; j 0) ( // swap words(i) with words(j( String temp = words(i); words(i) = words(j); words(j) = temp; ) ) ) System.out.println("In lexicographical order:"); for(int i = 0; i < 4; i++) ( System.out.println(words(i)); ) ) )
Ausgabe
In lexikografischer Reihenfolge: C Java Python Ruby
Im obigen Programm wird die Liste der 5 zu sortierenden Wörter in einer Variablen, Wörtern, gespeichert.
Dann durchlaufen wir jedes Wort (Wörter (i)) und vergleichen es mit allen Wörtern (Wörtern (j)) danach im Array. Dies erfolgt mithilfe der compareTo () -Methode des Strings.
Wenn der Rückgabewert von compareTo () größer als 0 ist, muss er in seiner Position vertauscht werden, dh Wörter (i) kommen nach Wörtern (j). In jeder Iteration enthalten die Wörter (i) das früheste Wort.
AusführungsschritteWiederholung | Anfangswörter | ich | j | Wörter() |
---|---|---|---|---|
1 | ( "Ruby", "C", "Python", "Java" ) | 0 | 1 | ( "C", "Ruby", "Python", "Java" ) |
2 | ( "C", "Ruby", "Python", "Java" ) | 0 | 2 | ( "C", "Ruby", "Python", "Java" ) |
3 | ( "C", "Ruby", "Python", "Java" ) | 0 | 3 | ( "C", "Ruby", "Python", "Java" ) |
4 | ( "C", "Ruby", "Python", "Java" ) | 1 | 2 | ( "C", "Python", "Ruby", "Java" ) |
5 | ( "C", "Python", "Ruby", "Java" ) | 1 | 3 | ( "C", "Java", "Ruby", "Python" ) |
Finale | ( "C", "Java", "Ruby", "Python" ) | 2 | 3 | ( "C", "Java", "Python", "Ruby" ) |