I dette program lærer du at sortere elementordene i leksikografisk rækkefølge ved hjælp af en for-loop og hvis ellers i Kotlin.
Eksempel: Program til sortering af strenge i ordbordsrækkefølge
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)) ) )
Når du kører programmet, vil output være:
I leksikografisk rækkefølge: C Java Python Ruby
I ovenstående program er listen over 5 ord, der skal sorteres, gemt i en variabel, ord.
Derefter løber vi gennem hvert ord (ord (i)) og sammenligner det med alle ord (ord (j)) efter det i arrayet. Dette gøres ved hjælp af strengens comparTo () -metode.
Hvis returværdien af comparTo () er større end 0, skal den byttes i position, dvs. ord (i) kommer efter ord (j). Så i hver iteration indeholder ord (i) det tidligste ord.
UdførelsestrinIteration | Indledende ord | jeg | j | ord () |
---|---|---|---|---|
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" ) |
Endelig | ( "C", "Java", "Ruby", "Python" ) | 2 | 3 | ( "C", "Java", "Python", "Ruby" ) |
Her er den tilsvarende Java-kode: Java-program til at sortere ord i leksikografisk rækkefølge