U ovom programu naučit ćete sortirati riječi elementa u leksikografskom redoslijedu pomoću petlje for i ako je to slučaj u Kotlinu.
Primjer: Program za sortiranje nizova prema redoslijedu rječnika
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)) ) )
Kada pokrenete program, izlaz će biti:
U leksikografskom redoslijedu: C Java Python Ruby
U gore navedenom programu, popis od 5 riječi koje su razvrstane pohranjene su u varijablu riječi.
Zatim, petlju prolazimo kroz svaku riječ (riječi (i)) i uspoređujemo je sa svim riječima (riječi (j)) nakon nje u nizu. To se radi pomoću string-ove compareTo () metode.
Ako je povratna vrijednost compareTo () veća od 0, mora se zamijeniti u položaju, tj. Riječi (i) dolaze iza riječi (j). Dakle, u svakoj iteraciji riječi (i) sadrže najraniju riječ.
Koraci izvršenjaIteracija | Početne riječi | ja | j | riječi () |
---|---|---|---|---|
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" ) |
Konačno | ( "C", "Java", "Ruby", "Python" ) | 2 | 3 | ( "C", "Java", "Python", "Ruby" ) |
Evo ekvivalentnog Java koda: Java program za razvrstavanje riječi u leksikografskom redoslijedu