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ésekIsmé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