Šioje programoje išmoksite rūšiuoti elementinius žodžius leksikografine tvarka, naudodami „for loop“ ir, jei ne, „Kotlin“.
Pavyzdys: programa eilėms rūšiuoti žodyno tvarka
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)) ) )
Kai paleisite programą, išvestis bus:
Leksikografine tvarka: C Java Python Ruby
Pirmiau pateiktoje programoje 5 išrūšiuotų žodžių sąrašas saugomas kintamajame, žodžiuose.
Tada mes peržengiame kiekvieną žodį (žodžiai (i)) ir palyginame jį su visais žodžiais (žodžiai (j)) po jo masyvu. Tai daroma naudojant eilutės metodą „CompareTo ()“.
Jei „returnTo“ () grąžinimo vertė yra didesnė nei 0, ją reikia pakeisti pozicija, ty žodžiai (i) yra po žodžių (j). Taigi kiekvienoje iteracijoje žodžiuose (i) yra ankstyviausias žodis.
Vykdymo žingsniaiKartojimas | Pradiniai žodžiai | i | j | žodžiai () |
---|---|---|---|---|
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" ) |
Galutinis | ( "C", "Java", "Ruby", "Python" ) | 2 | 3 | ( "C", "Java", "Python", "Ruby" ) |
Štai ekvivalentiškas „Java“ kodas: „Java“ programa, skirta žodžiams rūšiuoti leksikografine tvarka