Neste programa, você aprenderá a classificar as palavras do elemento em ordem lexicográfica usando um loop for e if else em Kotlin.
Exemplo: programa para classificar strings na ordem do dicionário
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 você executa o programa, a saída será:
Em ordem lexicográfica: C Java Python Ruby
No programa acima, a lista de 5 palavras a serem ordenadas é armazenada em uma variável, palavras.
Em seguida, percorremos cada palavra (palavras (i)) e as comparamos com todas as palavras (palavras (j)) depois dela no array. Isso é feito usando o método compareTo () de string.
Se o valor de retorno de compareTo () for maior que 0, ele deve ser trocado de posição, ou seja, as palavras (i) vêm depois das palavras (j). Portanto, em cada iteração, as palavras (i) contêm a palavra mais antiga.
Etapas de execuçãoIteração | Palavras iniciais | Eu | j | palavras() |
---|---|---|---|---|
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" ) |
Final | ( "C", "Java", "Ruby", "Python" ) | 2 | 3 | ( "C", "Java", "Python", "Ruby" ) |
Aqui está o código Java equivalente: programa Java para classificar palavras em ordem lexicográfica