Kotlin-ohjelma elementtien lajittelemiseksi leksikografisessa järjestyksessä (sanakirjajärjestys)

Tässä ohjelmassa opit lajittelemaan elementtisanat leksikografisessa järjestyksessä for for -silmukalla ja jos muuta Kotlinissa.

Esimerkki: Ohjelma merkkijonojen lajittelemiseksi sanakirjajärjestyksessä

 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)) ) )

Kun suoritat ohjelmaa, tulos on:

 Leksikografisessa järjestyksessä: C Java Python Ruby

Yllä olevassa ohjelmassa 5 lajiteltavan sanan luettelo tallennetaan muuttujaan, sanoihin.

Sitten, silmukka läpi jokaisen sanan (sanat (i)) ja vertaa sitä kaikkiin sanoihin (sanat (j)) sen jälkeen taulukossa. Tämä tehdään käyttämällä merkkijonon vertailumenetelmää ().

Jos vertailun () paluuarvo on suurempi kuin 0, se on vaihdettava sijaintiinsa, ts. Sanat (i) tulevat sanojen (j) jälkeen. Joten sanat (i) sisältävät jokaisessa iteraatiossa aikaisimman sanan.

Suoritusvaiheet
Toisto Alkusanat i j sanat()
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" )
Lopullinen ( "C", "Java", "Ruby", "Python" ) 2 3 ( "C", "Java", "Python", "Ruby" )

Tässä on vastaava Java-koodi: Java-ohjelma sanojen lajittelemiseksi sanastollisessa järjestyksessä

Mielenkiintoisia artikkeleita...