In questo programma imparerai a ordinare le parole degli elementi in ordine lessicografico usando un ciclo for e se altro in Java.
Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione Java:
- Java per Loop
- Istruzione Java if … else
- Java String
Esempio: programma per ordinare le stringhe nell'ordine del dizionario
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)); ) ) )
Produzione
In ordine lessicografico: C Java Python Ruby
Nel programma sopra, l'elenco di 5 parole da ordinare è memorizzato in una variabile, parole.
Quindi, ripetiamo ogni parola (parole (i)) e la confrontiamo con tutte le parole (parole (j)) dopo di essa nell'array. Questo viene fatto utilizzando il metodo compareTo () della stringa.
Se il valore di ritorno di compareTo () è maggiore di 0, deve essere scambiato in posizione, cioè le parole (i) vengono dopo le parole (j). Quindi, in ogni iterazione, le parole (i) contengono la prima parola.
Fasi di esecuzioneIterazione | Parole iniziali | io | j | parole() |
---|---|---|---|---|
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" ) |