In dit programma leer je de elementwoorden in lexicografische volgorde te sorteren met een for-lus en if anders in Kotlin.
Voorbeeld: programma om tekenreeksen in woordenboekvolgorde te sorteren
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)) ) )
Wanneer u het programma uitvoert, is de uitvoer:
In lexicografische volgorde: C Java Python Ruby
In het bovenstaande programma wordt de lijst met 5 te sorteren woorden opgeslagen in een variabele, woorden.
Vervolgens doorlopen we elk woord (woorden (i)) en vergelijken het met alle woorden (woorden (j)) erna in de array. Dit wordt gedaan door de methode CompareTo () van string te gebruiken.
Als de geretourneerde waarde van CompareTo () groter is dan 0, moet deze in positie worden omgewisseld, dwz woorden (i) komen na woorden (j). Dus in elke iteratie bevat woorden (i) het vroegste woord.
UitvoeringsstappenIteratie | Eerste woorden | ik | j | woorden() |
---|---|---|---|---|
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" ) |
Laatste | ( "C", "Java", "Ruby", "Python" ) | 2 | 3 | ( "C", "Java", "Python", "Ruby" ) |
Hier is de equivalente Java-code: Java-programma om woorden in lexicografische volgorde te sorteren