Reference Materials
Certification Courses
Created with over a decade of experience and thousands of feedback.
Python online compiler
JavaScript online compiler
SQL online compiler
Java online compiler
HTML online compiler
C online compiler
C++ online compiler
C# online compiler
PHP online compiler
Swift online compiler
Kotlin online compiler
TypeScript online compiler
Go online compiler
Rust online compiler
Scala online compiler
Dart online compiler
R online compiler
Ruby online compiler
Kotlin Program to Sort Elements in Lexicographical Order (Dictionary Order)
In this program, you'll learn to sort the element words in lexicographical order using a for loop and if else in Kotlin.
Example: Program to Sort Strings in Dictionary Order
fun main(args: Array<String>) {
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])
}
}
When you run the program, the output will be:
In lexicographical order: C Java Python Ruby
In the above program, the list of 5 words to sorted are stored in a variable, words.
Then, we loop through each word (words[i]) and compare it with all words (words[j]) after it in the array. This is done by using string's compareTo() method.
If the return value of compareTo() is greater than 0, it has to be swapped in position, i.e. words[i] comes after words[j]. So, in each iteration, words[i] contains the earliest word.
| Iteration | Initial words | i | j | words[] |
|---|---|---|---|---|
| 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" } |
| Final | { "C", "Java", "Ruby", "Python" } |
2 | 3 | { "C", "Java", "Python", "Ruby" } |
Here's the equivalent Java code: Java program to sort words in lexicographical order
Did you find this article helpful?