Selles programmis saate õppida elemendisõnu sortima leksikograafilises järjekorras for loopi abil ja kui Kotlinis.
Näide: Programm stringide sortimiseks sõnastiku järjekorras
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)) ) )
Programmi käivitamisel on väljund järgmine:
Leksikograafilises järjekorras: C Java Python Ruby
Ülalolevas programmis salvestatakse 5 sorteeritavast sõnast koosnev muutuja sõnad.
Seejärel vaatame iga sõna (sõnad (i)) läbi ja võrdleme seda kõigi massiivis olevate sõnadega (sõnad (j)). Selleks kasutatakse stringi meetodit CompareTo ().
Kui võrdlusto () tagastusväärtus on suurem kui 0, tuleb see asendis vahetada, st sõnad (i) tulevad sõnade (j) järele. Niisiis sisaldavad sõnad (i) igas iteratsioonis kõige varasemat sõna.
Täitmise etapidKordus | Esialgsed sõnad | i | j | sõnad () |
---|---|---|---|---|
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" ) |
Lõplik | ( "C", "Java", "Ruby", "Python" ) | 2 | 3 | ( "C", "Java", "Python", "Ruby" ) |
Siin on samaväärne Java-kood: Java-programm sõnade sortimiseks leksikograafilises järjekorras