У овом програму научићете сортирање речи елемената у лексикографском редоследу помоћу петље фор, а ако не и у Котлину.
Пример: Програм за сортирање низова по редоследу речника
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)) ) )
Када покренете програм, излаз ће бити:
У лексикографском редоследу: Ц Јава Питхон Руби
У горњем програму, листа од 5 речи које су сортиране чувају се у променљивој речи.
Затим, петљу пролазимо кроз сваку реч (речи (и)) и упоређујемо је са свим речима (речи (ј)) након ње у низу. То се постиже методом стринг-а цомпареТо ().
Ако је повратна вредност цомпареТо () већа од 0, мора се заменити у положају, тј. Речи (и) долазе иза речи (ј). Дакле, у свакој итерацији речи (и) садрже најранију реч.
Кораци извршењаПонављање | Почетне речи | и | ј | речи() |
---|---|---|---|---|
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" ) |
Ево еквивалентног Јава кода: Јава програм за сортирање речи у лексикографском редоследу