В этой программе вы научитесь сортировать слова элемента в лексикографическом порядке, используя цикл for и if else в Kotlin.
Пример: программа для сортировки строк в словарном порядке
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)) ) )
Когда вы запустите программу, вывод будет:
В лексикографическом порядке: C Java Python Ruby
В приведенной выше программе список из 5 сортируемых слов хранится в переменной words.
Затем мы перебираем каждое слово (слова (i)) и сравниваем его со всеми словами (слова (j)) после него в массиве. Это делается с помощью строкового метода compareTo ().
Если возвращаемое значение compareTo () больше 0, его нужно поменять местами, т.е. слова (i) идут после слов (j). Итак, на каждой итерации слова (i) содержат самое раннее слово.
Шаги выполненияИтерация | Начальные слова | я | j | слова () |
---|---|---|---|---|
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" ) |
Финал | ( "C", "Java", "Ruby", "Python" ) | 2 | 3 | ( "C", "Java", "Python", "Ruby" ) |
Вот эквивалентный Java-код: Java-программа для сортировки слов в лексикографическом порядке