In this tutorial, we will write a Program to implement the Bubble Sort algorithm in Kotlin programming language.
Bubble Sort Algorithm is one of the simplest sorting algorithms. The bubble sort repeatedly compares adjacent values and swaps them, if needed, to perform the sort. The larger values in the set will, therefore, bubble up to the end of the collection.Bubble Sort Algorithm in Kotlin
Let's write the Kotlin program to implement the Bubble sort algorithm to sort elements in ascending order as well as in descending order:
import java.util.*
fun <E: Comparable<E>> Array<E>.sort() {
val len = size
for (i in 0 until (len - 1)) {
for (j in 0 until (len - i - 1)) {
if (this[j].compareTo(this[j + 1]) > 0) {
val temp = this[j]
this[j] = this[j + 1]
this[j + 1] = temp
}
}
}
}
fun <E: Comparable<E>> Array<E>.descending() {
val len = size
for (i in 0 until (len - 1)) {
for (j in 0 until (len - i - 1)) {
if (this[j].compareTo(this[j + 1]) < 0) {
val temp = this[j]
this[j] = this[j + 1]
this[j + 1] = temp
}
}
}
}
fun main(args: Array<String>) {
val nums = arrayOf(2, 12, 89, 23, 76, 43, 12)
nums.sort()
println(Arrays.toString(nums))
nums.descending()
println(Arrays.toString(nums))
}
Output:
[2, 12, 12, 23, 43, 76, 89]
[89, 76, 43, 23, 12, 12, 2]
This method sorts the elements in ascending order:
fun <E: Comparable<E>> Array<E>.sort() {
val len = size
for (i in 0 until (len - 1)) {
for (j in 0 until (len - i - 1)) {
if (this[j].compareTo(this[j + 1]) > 0) {
val temp = this[j]
this[j] = this[j + 1]
this[j + 1] = temp
}
}
}
}
This method sorts the elements in descending order:
fun <E: Comparable<E>> Array<E>.descending() {
val len = size
for (i in 0 until (len - 1)) {
for (j in 0 until (len - i - 1)) {
if (this[j].compareTo(this[j + 1]) < 0) {
val temp = this[j]
this[j] = this[j + 1]
this[j + 1] = temp
}
}
}
}
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
- 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