Skip to content

Commit 896f0ee

Browse files
authored
quick sort in kotlin
1 parent b344ff1 commit 896f0ee

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

quick sort in kotlin

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
fun quick_sort(A: Array<Int>, p: Int, r: Int) {
2+
if (p < r) {
3+
var q: Int = partition(A, p, r)
4+
quick_sort(A, p, q - 1)
5+
quick_sort(A, q + 1, r)
6+
7+
}
8+
}
9+
10+
fun partition(A: Array<Int>, p: Int, r: Int): Int {
11+
var x = A[r]
12+
var i = p - 1
13+
for (j in p until r) {
14+
if (A[j] <= x) {
15+
i++
16+
exchange(A, i, j)
17+
}
18+
}
19+
exchange(A, i + 1, r)
20+
return i + 1
21+
}
22+
23+
fun exchange(A: Array<Int>, i: Int, j: Int) {
24+
var temp = A[i]
25+
A[i] = A[j]
26+
A[j] = temp
27+
}
28+
29+
fun main(arg: Array<String>) {
30+
print("Enter no. of elements :")
31+
var n = readLine()!!.toInt()
32+
33+
println("Enter elements : ")
34+
var A = Array(n, { 0 })
35+
for (i in 0 until n)
36+
A[i] = readLine()!!.toInt()
37+
38+
quick_sort(A, 0, A.size - 1)
39+
40+
println("Sorted array is : ")
41+
for (i in 0 until n)
42+
print("${A[i]} ")
43+
}

0 commit comments

Comments
 (0)