In this tutorial, we will write a Program to implement the Selection Sort algorithm in Kotlin programming language.
The selection sort algorithm sorts an array by repeatedly finding the minimum element (considering ascending order) from the unsorted part and putting it at the beginning.Selection Sort Algorithm in Kotlin
Let's write the Kotlin program to Sort an Array of elements as well as a list of elements using the Quick Sort Algorithm:
import java.util.*
fun <E: Comparable<E>> Array<E>.sort() {
val len = size
// Find the minimum value of the array
for (i in 0 until (len - 1)) {
// Getting the index where minimum value is present
var minIndex = i
for (j in (i + 1) until len) {
if (this[j].compareTo(this[minIndex]) < 0) minIndex = j
}
// We got the minimum element, now swap that to first element
val temp = this[minIndex]
this[minIndex] = this[i]
this[i] = temp
}
}
fun <E: Comparable<E>> List<E>.sort(): List<E> {
val len = size
val resultList = toMutableList()
// Find the minimum value of the array
for (i in 0 until (len - 1)) {
// Getting the index where minimum value is present
var minIndex = i
for (j in (i + 1) until len) {
if (resultList[j].compareTo(resultList[minIndex]) < 0) minIndex = j
}
// We got the minimum element, now swap that to first element
val temp = resultList[minIndex]
resultList[minIndex] = resultList[i]
resultList[i] = temp
}
return resultList
}
fun main(args: Array<String>) {
println("Sort array of elements")
val nums = arrayOf(2, 12, 89, 23, 76, 43, 12)
println("Before sorting array of elements")
println(Arrays.toString(nums))
nums.sort()
println("After sorting array of elements")
println(Arrays.toString(nums))
println()
println("Sort List of elements")
val nums1 = listOf(2, 12, 89, 23, 76, 43, 12)
println("Before sorting list of elements")
println(nums1)
val result = nums1.sort()
println("After sorting list of elements")
println(result)
}
Output:
Sort array of elements
Before sorting array of elements
[2, 12, 89, 23, 76, 43, 12]
After sorting array of elements
[2, 12, 12, 23, 43, 76, 89]
Sort List of elements
Before sorting list of elements
[2, 12, 89, 23, 76, 43, 12]
After sorting list of elements
[2, 12, 12, 23, 43, 76, 89]
Related Data Structures and Algorithms in Kotlin
- Bubble Sort Algorithm in Kotlin
- Heap Sort Algorithm in Kotlin
- Insertion Sort Algorithm in Kotlin
- Merge Sort Algorithm in Kotlin
- Quick Sort Algorithm in Kotlin
- Selection Sort Algorithm in Kotlin
- Stack Data Structure Implementation in Kotlin
- Queue Data Structure Implementation in Kotlin
- Deque Implementation in Kotlin
- Singly Linked List Implementation in Kotlin
- Doubly Linked List Implementation in Kotlin
- Circular Linked List Implementation in Kotlin
Comments
Post a Comment
Leave Comment