We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent d17416f commit 5b2f23bCopy full SHA for 5b2f23b
src/main/kotlin/ru/romanow/algorithms/QuickSort.kt
@@ -10,15 +10,18 @@ class QuickSort {
10
}
11
12
private fun partition(arr: IntArray, low: Int, high: Int): Int {
13
- val pivot = arr[high]
+ val pivot = arr[high] // в качестве опрного элемента берем последний
14
var i = low - 1
15
16
+ // если arr[j] <= pivot, увеличиваем i и меняем местами arr[i] и arr[j]
17
+ // таким образом, все элементы <= pivot собираются слева
18
for (j in low until high) {
19
if (arr[j] <= pivot) {
20
i++
21
arr.swap(i, j)
22
23
24
+ // в конце arr[i + 1] и arr[high] меняются местами, чтобы поставить pivot на правильную позицию
25
arr.swap(i + 1, high)
26
return i + 1
27
0 commit comments