Програма Kotlin за сортиране на елементи в лексикографски ред (ред на речника)

В тази програма ще се научите да сортирате думите на елементите в лексикографски ред, като използвате цикъл 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)) след нея в масива. Това се прави с помощта на метода за сравнение stringTo ().

Ако върнатата стойност на 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 програма за сортиране на думи в лексикографски ред

Интересни статии...