Kotlina programma elementu šķirošanai leksikogrāfiskā secībā (vārdnīcu secība)

Š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ļi
Atkā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ā

Interesanti raksti...