Šajā programmā jūs iemācīsities kārtot elementa vārdus leksikogrāfiskā secībā, izmantojot for loop un, ja vēl Kotlin.
Piemērs: Programma virkņu kārtošanai vārdnīcas secībā
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)) ) )
Palaidot programmu, izeja būs:
Leksikogrāfiskā secībā: C Java Python Ruby
Iepriekš minētajā programmā 5 sakārtoto vārdu saraksts tiek saglabāts mainīgajā - vārdos.
Tad mēs aplūkojam katru vārdu (vārdi (i)) un salīdzinām to ar visiem vārdiem (vārdiem (j)) pēc tā masīvā. Tas tiek darīts, izmantojot virknes metodi salīdzināt ().
Ja salīdzinātTo () atgriešanās vērtība ir lielāka par 0, tā jāmaina pozīcijā, ti, vārdi (i) nāk aiz vārdiem (j). Tātad katrā atkārtojumā vārdi (i) satur agrāko vārdu.
Izpildes soļiAtkārtojums | Sākotnējie vārdi | i | j | vārdi () |
---|---|---|---|---|
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" ) |
Fināls | ( "C", "Java", "Ruby", "Python" ) | 2 | 3 | ( "C", "Java", "Python", "Ruby" ) |
Šeit ir ekvivalents Java kods: Java programma vārdu šķirošanai leksikogrāfiskā secībā