Kotlin Program az elemek rendezéséhez lexikográfiai sorrendben (szótári sorrend)

Ebben a programban megtanulja, hogy az elemi szavakat lexikográfiai sorrendben rendezze-e a for ciklus segítségével, és ha másképp a Kotlinban.

Példa: Szövegek rendezése szótári sorrendben

 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)) ) )

A program futtatásakor a kimenet a következő lesz:

 Lexikográfiai sorrendben: C Java Python Ruby

A fenti programban az 5 rendezni kívánt szó listáját egy változó, a szavak tárolják.

Ezután végignézzük az egyes szavakat (szavak (i)), és összehasonlítjuk az összes szóval (j) szavakkal a tömbben. Ez a string összehasonlító () metódusával történik.

Ha az vertaTo () visszatérési értéke nagyobb, mint 0, akkor azt fel kell cserélni a helyzetbe, vagyis az (i) szavak a (j) szavak után következnek. Tehát minden iterációban az (i) szavak tartalmazzák a legkorábbi szót.

Végrehajtási lépések
Ismétlés Kezdő szavak én j szavak()
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" )
Végső ( "C", "Java", "Ruby", "Python" ) 2 3 ( "C", "Java", "Python", "Ruby" )

Itt található az egyenértékű Java kód: Java program a szavak lexikográfiai sorrendbe rendezéséhez

érdekes cikkek...