File tree 1 file changed +43
-0
lines changed
1 file changed +43
-0
lines changed Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments