In questo programma imparerai a ordinare le parole degli elementi in ordine lessicografico usando un ciclo for e se altro in Kotlin.
Esempio: programma per ordinare le stringhe nell'ordine del dizionario
fun main(args: Array) ( val words = arrayOf("Ruby", "C", "Python", "Java") for (i in 0… 2) ( for (j in i + 1… 3) ( if (words(i).compareTo(words(j))> 0) ( // swap words(i) with words(j( val temp = words(i) words(i) = words(j) words(j) = temp ) ) ) println("In lexicographical order:") for (i in 0… 3) ( println(words(i)) ) )
Quando esegui il programma, l'output sarà:
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 usando 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" ) |
Ecco il codice Java equivalente: programma Java per ordinare le parole in ordine lessicografico