V tomto programe sa naučíte triediť elementárne slová v lexikografickom poradí pomocou slučky for a ak ešte v Kotline.
Príklad: Program na triedenie reťazcov v poradí slovníkov
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)) ) )
Po spustení programu bude výstup:
V lexikografickom poradí: C Java Python Ruby
Vo vyššie uvedenom programe je zoznam 5 slov, ktoré sa majú zoradiť, uložený v premennej slová.
Potom prechádzame každé slovo (slová (i)) a porovnávame ho so všetkými slovami (slová (j)) za ním v poli. To sa deje pomocou metódy porovnania reťazca () reťazca.
Ak je návratová hodnota porovnania () väčšia ako 0, musí sa vymeniť na pozícii, to znamená, že za slovami (j) nasledujú slová (i). Takže v každej iterácii obsahuje slovo (i) najskoršie slovo.
Kroky vykonaniaIterácia | Počiatočné slová | i | j | slová () |
---|---|---|---|---|
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" ) |
Konečný | ( "C", "Java", "Ruby", "Python" ) | 2 | 3 | ( "C", "Java", "Python", "Ruby" ) |
Tu je ekvivalentný kód Java: Program Java na triedenie slov v lexikografickom poradí