Quick Sort

Run Settings
LanguageKotlin
Language Version
Run Command
class QuickSort { fun quickSort(arr: IntArray, low: Int, high: Int) { if (low < high) { val pIndex = partition(arr, low, high) quickSort(arr, low, pIndex - 1) quickSort(arr, pIndex + 1, high) } } private fun partition(arr: IntArray, low: Int, high: Int): Int { val pivot = arr[high] var i = low - 1 for (j in low until high) { if (arr[j] <= pivot) { i++ // swap arr[i] and arr[j] val temp = arr[i] arr[i] = arr[j] arr[j] = temp } } val temp = arr[i + 1] arr[i + 1] = arr[high] arr[high] = temp return i + 1 } fun printArray(arr: IntArray) { for (value in arr) print("$value ") println() } } fun main() { val numbers = intArrayOf(99, 44, 6, 2, 1, 5, 63, 87, 283, 4, 0) val quickSort = QuickSort() quickSort.quickSort(numbers, 0, numbers.size - 1) quickSort.printArray(numbers) }
Editor Settings
Theme
Key bindings
Full width
Lines