Програма Котліна для сортування елементів у лексикографічному порядку (словниковий порядок)

У цій програмі ви навчитеся сортувати слова-елементи в лексикографічному порядку за допомогою циклу for та, якщо ще, у 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 відсортованих слів зберігається у змінній слова.

Потім ми прокручуємо кожне слово (слова (i)) і порівнюємо його з усіма словами (словами (j)) після нього в масиві. Це робиться за допомогою рядкового методу compareTo ().

Якщо повернене значення compareTo () більше 0, його потрібно поміняти місцями, тобто слова (i) стають після слів (j). Отже, у кожній ітерації слова (i) містять найдавніше слово.

Етапи виконання
Ітерація Початкові слова 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 для сортування слів у лексикографічному порядку

Цікаві статті...